y 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] ✅ Updated existing categories with new fields
[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] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[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] 🚀 LiteSpeed Server Detected - Applying fixes
[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 institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait 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 show_download_extrait_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language 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 format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link 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 show_external_download_button 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 external_download_protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download 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 description already exists in categories
[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 display_order already exists in categories
[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 is_active already exists in categories
[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 show_welcome_section already exists
[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] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[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] 🚀 LiteSpeed Server Detected - Applying fixes
[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 institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link 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] ✅ Updated existing books with empty language field
[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] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button 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 external_download_protection_key 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 is_external_download_protected 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 is_active 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] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01: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
[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] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_welcome_section 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 company_address already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[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] ✅ Updated existing categories with new fields
[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] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[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 institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original 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 extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[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 is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[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] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[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] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[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] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[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] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[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 institution already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link 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_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_download_extrait_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 download_extrait_button_text already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download 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 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 format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address 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] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[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] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[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] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[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] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[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 institution already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column publication_year 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 keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column institution 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 publication_year already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[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 show_welcome_section already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_read_button 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] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Column read_button_text 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 is_external_plus already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column custom_file_size 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 show_file_size 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 taille_before_extrait 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_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 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_extrait_button_text 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 original_pdf_url 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 download_count 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] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[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] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[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 description already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Column show_welcome_section already exists
[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] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:03 UTC] 📊 Database Info:
[25-Nov-2025 01:27:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:03 UTC]    Books columns count: 45
[25-Nov-2025 01:27:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01:27:03 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:03 UTC]    Language field in books: YES
[25-Nov-2025 01:27:03 UTC]    Format field in books: YES
[25-Nov-2025 01:27:03 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:03 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01: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
[25-Nov-2025 01:27:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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
[25-Nov-2025 01:27:04 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:27: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
[25-Nov-2025 01:27:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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
[25-Nov-2025 01:27:04 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:27: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
[25-Nov-2025 01:27:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:04 UTC] 📊 Database Info:
[25-Nov-2025 01:27:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:04 UTC]    Books columns count: 45
[25-Nov-2025 01:27:04 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:04 UTC]    Language field in books: YES
[25-Nov-2025 01:27:04 UTC]    Format field in books: YES
[25-Nov-2025 01:27:04 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:04 UTC] 📊 Database Info:
[25-Nov-2025 01:27:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:04 UTC]    Books columns count: 45
[25-Nov-2025 01:27:04 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:04 UTC]    Language field in books: YES
[25-Nov-2025 01:27:04 UTC]    Format field in books: YES
[25-Nov-2025 01:27:04 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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
[25-Nov-2025 01:27:04 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:27: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
[25-Nov-2025 01:27:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:04 UTC] 📊 Database Info:
[25-Nov-2025 01:27:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:04 UTC]    Books columns count: 45
[25-Nov-2025 01:27:04 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:04 UTC]    Language field in books: YES
[25-Nov-2025 01:27:04 UTC]    Format field in books: YES
[25-Nov-2025 01:27:04 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:04 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 01:27:04 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 01:27:04 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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:27: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:27: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:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27: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:27: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:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27: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:27: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:27: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:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27: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:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 01:27:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 01:27:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 01:27:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 01:27:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 01:27:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 01:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 01:27:05 UTC] 📊 Database Info:
[25-Nov-2025 01:27:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 01:27:05 UTC]    Books columns count: 45
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC]    Categories columns count: 7
[25-Nov-2025 01:27:05 UTC]    Language field in books: YES
[25-Nov-2025 01:27:05 UTC]    Format field in books: YES
[25-Nov-2025 01:27:05 UTC]    Description field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 01:27:05 UTC]    Is_active field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 01:27:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 01:27:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 01:27:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 01:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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:27:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 01:27:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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 02:51: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 02:51: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 02:51:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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 02:51: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 02:51: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 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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 02:51: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 02:51: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 02:51:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:05 UTC] 📊 Database Info:
[25-Nov-2025 02:51:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:05 UTC]    Books columns count: 45
[25-Nov-2025 02:51:05 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:05 UTC]    Language field in books: YES
[25-Nov-2025 02:51:05 UTC]    Format field in books: YES
[25-Nov-2025 02:51:05 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 02:51:05 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:05 UTC] 📊 Database Info:
[25-Nov-2025 02:51:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:05 UTC]    Books columns count: 45
[25-Nov-2025 02:51:05 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:05 UTC]    Language field in books: YES
[25-Nov-2025 02:51:05 UTC]    Format field in books: YES
[25-Nov-2025 02:51:05 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 02:51:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 02:51:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 02:51:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:05 UTC] 📊 Database Info:
[25-Nov-2025 02:51:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:05 UTC]    Books columns count: 45
[25-Nov-2025 02:51:05 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:05 UTC]    Language field in books: YES
[25-Nov-2025 02:51:05 UTC]    Format field in books: YES
[25-Nov-2025 02:51:05 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:05 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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
[25-Nov-2025 02:51:08 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 02:51: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
[25-Nov-2025 02:51:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:08 UTC] 📊 Database Info:
[25-Nov-2025 02:51:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:08 UTC]    Books columns count: 45
[25-Nov-2025 02:51:08 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:08 UTC]    Language field in books: YES
[25-Nov-2025 02:51:08 UTC]    Format field in books: YES
[25-Nov-2025 02:51:08 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:08 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:27 UTC] 📊 Database Info:
[25-Nov-2025 02:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:27 UTC]    Books columns count: 45
[25-Nov-2025 02:51:27 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:27 UTC]    Language field in books: YES
[25-Nov-2025 02:51:27 UTC]    Format field in books: YES
[25-Nov-2025 02:51:27 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:27 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02: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
[25-Nov-2025 02:51:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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
[25-Nov-2025 02:51:35 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 02:51: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
[25-Nov-2025 02:51:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:35 UTC] 📊 Database Info:
[25-Nov-2025 02:51:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:35 UTC]    Books columns count: 45
[25-Nov-2025 02:51:35 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:35 UTC]    Language field in books: YES
[25-Nov-2025 02:51:35 UTC]    Format field in books: YES
[25-Nov-2025 02:51:35 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:35 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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
[25-Nov-2025 02:51:41 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 02:51: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
[25-Nov-2025 02:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:41 UTC] 📊 Database Info:
[25-Nov-2025 02:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:41 UTC]    Books columns count: 45
[25-Nov-2025 02:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:41 UTC]    Language field in books: YES
[25-Nov-2025 02:51:41 UTC]    Format field in books: YES
[25-Nov-2025 02:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51: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}
[25-Nov-2025 02:51:41 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 02:51:41 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 02:51:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 02:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51: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
[25-Nov-2025 02:51:41 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 02:51: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
[25-Nov-2025 02:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 02:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 02:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 02:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 02:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 02:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 02:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 02:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 02:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 02:51:41 UTC] 📊 Database Info:
[25-Nov-2025 02:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 02:51:41 UTC]    Books columns count: 45
[25-Nov-2025 02:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 02:51:41 UTC]    Language field in books: YES
[25-Nov-2025 02:51:41 UTC]    Format field in books: YES
[25-Nov-2025 02:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 02:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 02:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 02:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 02:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 02:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 02:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 02:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 02:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 02:51: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":false}
[25-Nov-2025 02:51:41 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 02:51:41 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 09:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33: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
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:25 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 09:33: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
[25-Nov-2025 09:33: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
[25-Nov-2025 09:33:25 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 09:33: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
[25-Nov-2025 09:33:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33: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
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 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 09:33: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
[25-Nov-2025 09:33:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:25 UTC] 📊 Database Info:
[25-Nov-2025 09:33:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:25 UTC]    Books columns count: 45
[25-Nov-2025 09:33:25 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:25 UTC]    Language field in books: YES
[25-Nov-2025 09:33:25 UTC]    Format field in books: YES
[25-Nov-2025 09:33:25 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 09:33:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 09:33:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:25 UTC] 📊 Database Info:
[25-Nov-2025 09:33:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:25 UTC]    Books columns count: 45
[25-Nov-2025 09:33:25 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:25 UTC]    Language field in books: YES
[25-Nov-2025 09:33:25 UTC]    Format field in books: YES
[25-Nov-2025 09:33:25 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:25 UTC] 📊 Database Info:
[25-Nov-2025 09:33:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:25 UTC]    Books columns count: 45
[25-Nov-2025 09:33:25 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:25 UTC]    Language field in books: YES
[25-Nov-2025 09:33:25 UTC]    Format field in books: YES
[25-Nov-2025 09:33:25 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:25 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 09:33:25 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 09:33:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:26 UTC] 📊 Database Info:
[25-Nov-2025 09:33:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:26 UTC]    Books columns count: 45
[25-Nov-2025 09:33:26 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:26 UTC]    Language field in books: YES
[25-Nov-2025 09:33:26 UTC]    Format field in books: YES
[25-Nov-2025 09:33:26 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 09:33:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 09:33:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:26 UTC] 📊 Database Info:
[25-Nov-2025 09:33:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:26 UTC]    Books columns count: 45
[25-Nov-2025 09:33:26 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:26 UTC]    Language field in books: YES
[25-Nov-2025 09:33:26 UTC]    Format field in books: YES
[25-Nov-2025 09:33:26 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:26 UTC] 📊 Database Info:
[25-Nov-2025 09:33:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:26 UTC]    Books columns count: 45
[25-Nov-2025 09:33:26 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:26 UTC]    Language field in books: YES
[25-Nov-2025 09:33:26 UTC]    Format field in books: YES
[25-Nov-2025 09:33:26 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:26 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 09:33:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 09:33:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 09:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:29 UTC] 📊 Database Info:
[25-Nov-2025 09:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:29 UTC]    Books columns count: 45
[25-Nov-2025 09:33:29 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:29 UTC]    Language field in books: YES
[25-Nov-2025 09:33:29 UTC]    Format field in books: YES
[25-Nov-2025 09:33:29 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:29 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:31 UTC] 📊 Database Info:
[25-Nov-2025 09:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:31 UTC]    Books columns count: 45
[25-Nov-2025 09:33:31 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:31 UTC]    Language field in books: YES
[25-Nov-2025 09:33:31 UTC]    Format field in books: YES
[25-Nov-2025 09:33:31 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33: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}
[25-Nov-2025 09:33:31 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 09:33:31 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 09:33:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 09:33:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 09:33:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 09:33:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 09:33:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 09:33:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 09:33:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 09:33:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 09:33:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 09:33:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 09:33:31 UTC] 📊 Database Info:
[25-Nov-2025 09:33:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 09:33:31 UTC]    Books columns count: 45
[25-Nov-2025 09:33:31 UTC]    Categories columns count: 7
[25-Nov-2025 09:33:31 UTC]    Language field in books: YES
[25-Nov-2025 09:33:31 UTC]    Format field in books: YES
[25-Nov-2025 09:33:31 UTC]    Description field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 09:33:31 UTC]    Is_active field in books: YES
[25-Nov-2025 09:33:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 09:33:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 09:33:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 09:33:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 09:33:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09: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
[25-Nov-2025 09:33:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 09:33:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 09:33: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}
[25-Nov-2025 09:33:31 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 09:33:31 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 11:09:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 11:09:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 11:09:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09: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
[25-Nov-2025 11:09:00 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 11:09: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
[25-Nov-2025 11:09:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 11:09:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09: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
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09: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
[25-Nov-2025 11:09:00 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 11:09:00 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 11:09: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
[25-Nov-2025 11:09: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
[25-Nov-2025 11:09:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 11:09:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 11:09:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 11:09:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 11:09:00 UTC] 📊 Database Info:
[25-Nov-2025 11:09:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 11:09:00 UTC]    Books columns count: 45
[25-Nov-2025 11:09:00 UTC]    Categories columns count: 7
[25-Nov-2025 11:09:00 UTC]    Language field in books: YES
[25-Nov-2025 11:09:00 UTC]    Format field in books: YES
[25-Nov-2025 11:09:00 UTC]    Description field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Is_active field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 11:09:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 11:09:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 11:09:00 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 11:09:00 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 11:09:00 UTC] 📊 Database Info:
[25-Nov-2025 11:09:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 11:09:00 UTC]    Books columns count: 45
[25-Nov-2025 11:09:00 UTC]    Categories columns count: 7
[25-Nov-2025 11:09:00 UTC]    Language field in books: YES
[25-Nov-2025 11:09:00 UTC]    Format field in books: YES
[25-Nov-2025 11:09:00 UTC]    Description field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Is_active field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 11:09:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 11:09:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 11:09:00 UTC] 📊 Database Info:
[25-Nov-2025 11:09:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 11:09:00 UTC]    Books columns count: 45
[25-Nov-2025 11:09:00 UTC]    Categories columns count: 7
[25-Nov-2025 11:09:00 UTC]    Language field in books: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC]    Format field in books: YES
[25-Nov-2025 11:09:00 UTC]    Description field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 11:09:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC]    Is_active field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 11:09:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 11:09:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 11:09:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 11:09:00 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 11:09:00 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 11:09:00 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 11:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 11:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 11:09:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 11:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 11:09:41 UTC] 📊 Database Info:
[25-Nov-2025 11:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 11:09:41 UTC]    Books columns count: 45
[25-Nov-2025 11:09:41 UTC]    Categories columns count: 7
[25-Nov-2025 11:09:41 UTC]    Language field in books: YES
[25-Nov-2025 11:09:41 UTC]    Format field in books: YES
[25-Nov-2025 11:09:41 UTC]    Description field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Is_active field in books: YES
[25-Nov-2025 11:09:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 11:09:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 11:09:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 11:09:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 11:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 11:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 11:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 11:09:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 11:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 11:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 11:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 11:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 11:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 11:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 11:09:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 11:09:41 UTC] 📊 Database Info:
[25-Nov-2025 11:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 11:09:41 UTC]    Books columns count: 45
[25-Nov-2025 11:09:41 UTC]    Categories columns count: 7
[25-Nov-2025 11:09:41 UTC]    Language field in books: YES
[25-Nov-2025 11:09:41 UTC]    Format field in books: YES
[25-Nov-2025 11:09:41 UTC]    Description field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 11:09:41 UTC]    Is_active field in books: YES
[25-Nov-2025 11:09:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 11:09:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 11:09:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 11:09:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 11:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11: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
[25-Nov-2025 11:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 11:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:10 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 12:06: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
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:10 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 12:06:10 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 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:10 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 12:06: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
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:10 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 12:06: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
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:10 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 12:06: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
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:10 UTC] 📊 Database Info:
[25-Nov-2025 12:06:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:10 UTC]    Books columns count: 45
[25-Nov-2025 12:06:10 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:10 UTC]    Language field in books: YES
[25-Nov-2025 12:06:10 UTC]    Format field in books: YES
[25-Nov-2025 12:06:10 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:10 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:10 UTC] 📊 Database Info:
[25-Nov-2025 12:06:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:10 UTC]    Books columns count: 45
[25-Nov-2025 12:06:10 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:10 UTC]    Language field in books: YES
[25-Nov-2025 12:06:10 UTC]    Format field in books: YES
[25-Nov-2025 12:06:10 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:10 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:11 UTC] 📊 Database Info:
[25-Nov-2025 12:06:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:11 UTC]    Books columns count: 45
[25-Nov-2025 12:06:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:11 UTC]    Language field in books: YES
[25-Nov-2025 12:06:11 UTC]    Format field in books: YES
[25-Nov-2025 12:06:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:11 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:06:11 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:06:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:11 UTC] 📊 Database Info:
[25-Nov-2025 12:06:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:11 UTC]    Books columns count: 45
[25-Nov-2025 12:06:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:11 UTC]    Language field in books: YES
[25-Nov-2025 12:06:11 UTC]    Format field in books: YES
[25-Nov-2025 12:06:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:11 UTC] 📊 Database Info:
[25-Nov-2025 12:06:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:11 UTC]    Books columns count: 45
[25-Nov-2025 12:06:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:11 UTC]    Language field in books: YES
[25-Nov-2025 12:06:11 UTC]    Format field in books: YES
[25-Nov-2025 12:06:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:11 UTC] 📊 Database Info:
[25-Nov-2025 12:06:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:11 UTC]    Books columns count: 45
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:11 UTC]    Language field in books: YES
[25-Nov-2025 12:06:11 UTC]    Format field in books: YES
[25-Nov-2025 12:06:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:11 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:06:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:06:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06: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
[25-Nov-2025 12:06:16 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 12:06: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
[25-Nov-2025 12:06:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:06:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:06:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:06:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:06:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:06:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:06:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:06:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:06:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:06:16 UTC] 📊 Database Info:
[25-Nov-2025 12:06:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:06:16 UTC]    Books columns count: 45
[25-Nov-2025 12:06:16 UTC]    Categories columns count: 7
[25-Nov-2025 12:06:16 UTC]    Language field in books: YES
[25-Nov-2025 12:06:16 UTC]    Format field in books: YES
[25-Nov-2025 12:06:16 UTC]    Description field in categories: YES
[25-Nov-2025 12:06:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:06:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:06:16 UTC]    Is_active field in books: YES
[25-Nov-2025 12:06:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:06:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:06:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:06:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:06:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:06:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:06:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:21:57 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:21:57 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:21:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:21:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:21:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:21:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:21:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:21:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:21:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:21:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:21:57 UTC] 📊 Database Info:
[25-Nov-2025 12:21:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:21:57 UTC]    Books columns count: 45
[25-Nov-2025 12:21:57 UTC]    Categories columns count: 7
[25-Nov-2025 12:21:57 UTC]    Language field in books: YES
[25-Nov-2025 12:21:57 UTC]    Format field in books: YES
[25-Nov-2025 12:21:57 UTC]    Description field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:21:57 UTC]    Is_active field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:21:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:21:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:21:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:21:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:21:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:03 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 12:22: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
[25-Nov-2025 12:22:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:03 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 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 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 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:04 UTC] 📊 Database Info:
[25-Nov-2025 12:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:04 UTC]    Books columns count: 45
[25-Nov-2025 12:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:04 UTC]    Language field in books: YES
[25-Nov-2025 12:22:04 UTC]    Format field in books: YES
[25-Nov-2025 12:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:04 UTC] 📊 Database Info:
[25-Nov-2025 12:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:04 UTC]    Books columns count: 45
[25-Nov-2025 12:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:04 UTC]    Language field in books: YES
[25-Nov-2025 12:22:04 UTC]    Format field in books: YES
[25-Nov-2025 12:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:04 UTC] 📊 Database Info:
[25-Nov-2025 12:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:04 UTC]    Books columns count: 45
[25-Nov-2025 12:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:04 UTC]    Language field in books: YES
[25-Nov-2025 12:22:04 UTC]    Format field in books: YES
[25-Nov-2025 12:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:04 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:05 UTC] 📊 Database Info:
[25-Nov-2025 12:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:05 UTC]    Books columns count: 45
[25-Nov-2025 12:22:05 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:05 UTC]    Language field in books: YES
[25-Nov-2025 12:22:05 UTC]    Format field in books: YES
[25-Nov-2025 12:22:05 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:05 UTC] 📊 Database Info:
[25-Nov-2025 12:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:05 UTC]    Books columns count: 45
[25-Nov-2025 12:22:05 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:05 UTC]    Language field in books: YES
[25-Nov-2025 12:22:05 UTC]    Format field in books: YES
[25-Nov-2025 12:22:05 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:05 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:22:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:22:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:06 UTC] 📊 Database Info:
[25-Nov-2025 12:22:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:06 UTC]    Books columns count: 45
[25-Nov-2025 12:22:06 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:06 UTC]    Language field in books: YES
[25-Nov-2025 12:22:06 UTC]    Format field in books: YES
[25-Nov-2025 12:22:06 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:06 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:07 UTC] 📊 Database Info:
[25-Nov-2025 12:22:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:07 UTC]    Books columns count: 45
[25-Nov-2025 12:22:07 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:07 UTC]    Language field in books: YES
[25-Nov-2025 12:22:07 UTC]    Format field in books: YES
[25-Nov-2025 12:22:07 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:07 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:17 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 12:22: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
[25-Nov-2025 12:22:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:17 UTC] 📊 Database Info:
[25-Nov-2025 12:22:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:17 UTC]    Books columns count: 45
[25-Nov-2025 12:22:17 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:17 UTC]    Language field in books: YES
[25-Nov-2025 12:22:17 UTC]    Format field in books: YES
[25-Nov-2025 12:22:17 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:17 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 12:22: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
[25-Nov-2025 12:22:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:17 UTC] 📊 Database Info:
[25-Nov-2025 12:22:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:17 UTC]    Books columns count: 45
[25-Nov-2025 12:22:17 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:17 UTC]    Language field in books: YES
[25-Nov-2025 12:22:17 UTC]    Format field in books: YES
[25-Nov-2025 12:22:17 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:17 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:17 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:22:17 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:22:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:18 UTC] 📊 Database Info:
[25-Nov-2025 12:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:18 UTC]    Books columns count: 45
[25-Nov-2025 12:22:18 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:18 UTC]    Language field in books: YES
[25-Nov-2025 12:22:18 UTC]    Format field in books: YES
[25-Nov-2025 12:22:18 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:18 UTC] 📊 Database Info:
[25-Nov-2025 12:22:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:18 UTC]    Books columns count: 45
[25-Nov-2025 12:22:18 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:18 UTC]    Language field in books: YES
[25-Nov-2025 12:22:18 UTC]    Format field in books: YES
[25-Nov-2025 12:22:18 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:18 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:22:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:26 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 12:22: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
[25-Nov-2025 12:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:26 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 12:22: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
[25-Nov-2025 12:22:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:26 UTC] 📊 Database Info:
[25-Nov-2025 12:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:26 UTC]    Books columns count: 45
[25-Nov-2025 12:22:26 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:26 UTC]    Language field in books: YES
[25-Nov-2025 12:22:26 UTC]    Format field in books: YES
[25-Nov-2025 12:22:26 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:26 UTC] 📊 Database Info:
[25-Nov-2025 12:22:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:26 UTC]    Books columns count: 45
[25-Nov-2025 12:22:26 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:26 UTC]    Language field in books: YES
[25-Nov-2025 12:22:26 UTC]    Format field in books: YES
[25-Nov-2025 12:22:26 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:26 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:27 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 12:22: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
[25-Nov-2025 12:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 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 12:22:27 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 12:22: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
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:27 UTC] 📊 Database Info:
[25-Nov-2025 12:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:27 UTC]    Books columns count: 45
[25-Nov-2025 12:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:27 UTC]    Language field in books: YES
[25-Nov-2025 12:22:27 UTC]    Format field in books: YES
[25-Nov-2025 12:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:27 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:22:27 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:27 UTC] 📊 Database Info:
[25-Nov-2025 12:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:27 UTC]    Books columns count: 45
[25-Nov-2025 12:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:27 UTC]    Language field in books: YES
[25-Nov-2025 12:22:27 UTC]    Format field in books: YES
[25-Nov-2025 12:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:27 UTC] 📊 Database Info:
[25-Nov-2025 12:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:27 UTC]    Books columns count: 45
[25-Nov-2025 12:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:27 UTC]    Language field in books: YES
[25-Nov-2025 12:22:27 UTC]    Format field in books: YES
[25-Nov-2025 12:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22: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
[25-Nov-2025 12:22:27 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 12:22: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
[25-Nov-2025 12:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:22:27 UTC] 📊 Database Info:
[25-Nov-2025 12:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:22:27 UTC]    Books columns count: 45
[25-Nov-2025 12:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 12:22:27 UTC]    Language field in books: YES
[25-Nov-2025 12:22:27 UTC]    Format field in books: YES
[25-Nov-2025 12:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:22:27 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:22:27 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:24:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:11 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 12:24: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
[25-Nov-2025 12:24:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 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 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 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 12:24: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
[25-Nov-2025 12:24:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:11 UTC] 📊 Database Info:
[25-Nov-2025 12:24:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:11 UTC]    Books columns count: 45
[25-Nov-2025 12:24:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:11 UTC]    Language field in books: YES
[25-Nov-2025 12:24:11 UTC]    Format field in books: YES
[25-Nov-2025 12:24:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:11 UTC] 📊 Database Info:
[25-Nov-2025 12:24:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:11 UTC]    Books columns count: 45
[25-Nov-2025 12:24:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:11 UTC]    Language field in books: YES
[25-Nov-2025 12:24:11 UTC]    Format field in books: YES
[25-Nov-2025 12:24:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:11 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:24:11 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:24:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:11 UTC] 📊 Database Info:
[25-Nov-2025 12:24:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:11 UTC]    Books columns count: 45
[25-Nov-2025 12:24:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:11 UTC]    Language field in books: YES
[25-Nov-2025 12:24:11 UTC]    Format field in books: YES
[25-Nov-2025 12:24:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:13 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 12:24: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
[25-Nov-2025 12:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:13 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 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24: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
[25-Nov-2025 12:24:13 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 12:24: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
[25-Nov-2025 12:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:24:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:13 UTC] 📊 Database Info:
[25-Nov-2025 12:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:13 UTC]    Books columns count: 45
[25-Nov-2025 12:24:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:13 UTC]    Language field in books: YES
[25-Nov-2025 12:24:13 UTC]    Format field in books: YES
[25-Nov-2025 12:24:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:24:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:24:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:13 UTC] 📊 Database Info:
[25-Nov-2025 12:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:13 UTC]    Books columns count: 45
[25-Nov-2025 12:24:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:13 UTC]    Language field in books: YES
[25-Nov-2025 12:24:13 UTC]    Format field in books: YES
[25-Nov-2025 12:24:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:24:13 UTC] 📊 Database Info:
[25-Nov-2025 12:24:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:24:13 UTC]    Books columns count: 45
[25-Nov-2025 12:24:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:24:13 UTC]    Language field in books: YES
[25-Nov-2025 12:24:13 UTC]    Format field in books: YES
[25-Nov-2025 12:24:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:24:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:24:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:24:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:24:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:24:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:24:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:24:13 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:24:13 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:26:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:26:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26: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
[25-Nov-2025 12:26: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
[25-Nov-2025 12:26:54 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 12:26:54 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 12:26: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
[25-Nov-2025 12:26: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
[25-Nov-2025 12:26:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:26:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:26:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:26:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26: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
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 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 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26: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
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:26:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:26:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:26:54 UTC] 📊 Database Info:
[25-Nov-2025 12:26:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:26:54 UTC]    Books columns count: 45
[25-Nov-2025 12:26:54 UTC]    Categories columns count: 7
[25-Nov-2025 12:26:54 UTC]    Language field in books: YES
[25-Nov-2025 12:26:54 UTC]    Format field in books: YES
[25-Nov-2025 12:26:54 UTC]    Description field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:26:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:26:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:26:54 UTC] 📊 Database Info:
[25-Nov-2025 12:26:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:26:54 UTC]    Books columns count: 45
[25-Nov-2025 12:26:54 UTC]    Categories columns count: 7
[25-Nov-2025 12:26:54 UTC]    Language field in books: YES
[25-Nov-2025 12:26:54 UTC]    Format field in books: YES
[25-Nov-2025 12:26:54 UTC]    Description field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:26:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:26:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:26:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:26:54 UTC] 📊 Database Info:
[25-Nov-2025 12:26:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:26:54 UTC]    Books columns count: 45
[25-Nov-2025 12:26:54 UTC]    Categories columns count: 7
[25-Nov-2025 12:26:54 UTC]    Language field in books: YES
[25-Nov-2025 12:26:54 UTC]    Format field in books: YES
[25-Nov-2025 12:26:54 UTC]    Description field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:26:54 UTC]    Is_active field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:26:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:26:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:26:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:26:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:26:54 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:26:54 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:26:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:26:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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 12: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 12: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 12:26:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:26:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:26:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:26:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:26:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:26:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:26:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:26:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:26:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:26:58 UTC] 📊 Database Info:
[25-Nov-2025 12:26:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:26:58 UTC]    Books columns count: 45
[25-Nov-2025 12:26:58 UTC]    Categories columns count: 7
[25-Nov-2025 12:26:58 UTC]    Language field in books: YES
[25-Nov-2025 12:26:58 UTC]    Format field in books: YES
[25-Nov-2025 12:26:58 UTC]    Description field in categories: YES
[25-Nov-2025 12:26:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:26:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:26:58 UTC]    Is_active field in books: YES
[25-Nov-2025 12:26:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:26:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:26:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:26:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:26:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12: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 12:26:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:26:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:13 UTC] 📊 Database Info:
[25-Nov-2025 12:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:13 UTC]    Books columns count: 45
[25-Nov-2025 12:27:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:13 UTC]    Language field in books: YES
[25-Nov-2025 12:27:13 UTC]    Format field in books: YES
[25-Nov-2025 12:27:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:13 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:27:13 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:13 UTC] 📊 Database Info:
[25-Nov-2025 12:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:13 UTC]    Books columns count: 45
[25-Nov-2025 12:27:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:13 UTC]    Language field in books: YES
[25-Nov-2025 12:27:13 UTC]    Format field in books: YES
[25-Nov-2025 12:27:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:13 UTC] 📊 Database Info:
[25-Nov-2025 12:27:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:13 UTC]    Books columns count: 45
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:13 UTC]    Language field in books: YES
[25-Nov-2025 12:27:13 UTC]    Format field in books: YES
[25-Nov-2025 12:27:13 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:13 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:27:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27: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
[25-Nov-2025 12:27:47 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 12:27: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
[25-Nov-2025 12:27:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27: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
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:47 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 12:27: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
[25-Nov-2025 12:27: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
[25-Nov-2025 12:27:47 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 12:27: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
[25-Nov-2025 12:27:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:27:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:27:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:27:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:47 UTC] 📊 Database Info:
[25-Nov-2025 12:27:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:47 UTC]    Books columns count: 45
[25-Nov-2025 12:27:47 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:47 UTC]    Language field in books: YES
[25-Nov-2025 12:27:47 UTC]    Format field in books: YES
[25-Nov-2025 12:27:47 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:47 UTC] 📊 Database Info:
[25-Nov-2025 12:27:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:47 UTC]    Books columns count: 45
[25-Nov-2025 12:27:47 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:47 UTC]    Language field in books: YES
[25-Nov-2025 12:27:47 UTC]    Format field in books: YES
[25-Nov-2025 12:27:47 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:27:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:27:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:27:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:27:47 UTC] 📊 Database Info:
[25-Nov-2025 12:27:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:27:47 UTC]    Books columns count: 45
[25-Nov-2025 12:27:47 UTC]    Categories columns count: 7
[25-Nov-2025 12:27:47 UTC]    Language field in books: YES
[25-Nov-2025 12:27:47 UTC]    Format field in books: YES
[25-Nov-2025 12:27:47 UTC]    Description field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:27:47 UTC]    Is_active field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:27:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:27:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:27:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:27:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:27:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:27:47 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 12:27:47 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 12:33:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:33:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:33:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:33:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:33:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:33:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:33:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:33:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:33:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:33:11 UTC] 📊 Database Info:
[25-Nov-2025 12:33:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:33:11 UTC]    Books columns count: 45
[25-Nov-2025 12:33:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:33:11 UTC]    Language field in books: YES
[25-Nov-2025 12:33:11 UTC]    Format field in books: YES
[25-Nov-2025 12:33:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:33:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:33:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:33:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:33:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:33:11 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:33:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:33:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:33:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:33:11 UTC] 📊 Database Info:
[25-Nov-2025 12:33:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:33:11 UTC]    Books columns count: 45
[25-Nov-2025 12:33:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:33:11 UTC]    Language field in books: YES
[25-Nov-2025 12:33:11 UTC]    Format field in books: YES
[25-Nov-2025 12:33:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:33:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:33:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:33:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:33:11 UTC] 📊 Database Info:
[25-Nov-2025 12:33:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:33:11 UTC]    Books columns count: 45
[25-Nov-2025 12:33:11 UTC]    Categories columns count: 7
[25-Nov-2025 12:33:11 UTC]    Language field in books: YES
[25-Nov-2025 12:33:11 UTC]    Format field in books: YES
[25-Nov-2025 12:33:11 UTC]    Description field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:33:11 UTC]    Is_active field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:33:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:33:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:33:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:33:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:33:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:33:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:33:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:33:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:33:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:36:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:36:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:36:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36: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
[25-Nov-2025 12:36:52 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 12:36: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
[25-Nov-2025 12:36:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:36:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36: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
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 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 12:36: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
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36: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
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 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 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36: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
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:36:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:36:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:36:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:36:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:36:52 UTC] 📊 Database Info:
[25-Nov-2025 12:36:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:36:52 UTC]    Books columns count: 45
[25-Nov-2025 12:36:52 UTC]    Categories columns count: 7
[25-Nov-2025 12:36:52 UTC]    Language field in books: YES
[25-Nov-2025 12:36:52 UTC]    Format field in books: YES
[25-Nov-2025 12:36:52 UTC]    Description field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:36:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:36:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:36:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:36:52 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:36:52 UTC] 📊 Database Info:
[25-Nov-2025 12:36:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:36:52 UTC]    Books columns count: 45
[25-Nov-2025 12:36:52 UTC]    Categories columns count: 7
[25-Nov-2025 12:36:52 UTC]    Language field in books: YES
[25-Nov-2025 12:36:52 UTC]    Format field in books: YES
[25-Nov-2025 12:36:52 UTC]    Description field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:36:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:36:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:36:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:36:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:36:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:36:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:36:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:36:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:36:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:36:52 UTC] 📊 Database Info:
[25-Nov-2025 12:36:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:36:52 UTC]    Books columns count: 45
[25-Nov-2025 12:36:52 UTC]    Categories columns count: 7
[25-Nov-2025 12:36:52 UTC]    Language field in books: YES
[25-Nov-2025 12:36:52 UTC]    Format field in books: YES
[25-Nov-2025 12:36:52 UTC]    Description field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:36:52 UTC]    Is_active field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:36:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:36:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:36:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:36:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:36:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:37:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37: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
[25-Nov-2025 12:37:02 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 12:37: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
[25-Nov-2025 12:37:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:37:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37: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
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 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 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37: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
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:37:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37: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
[25-Nov-2025 12:37:02 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 12:37: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
[25-Nov-2025 12:37:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:37:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:37:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:37:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:37:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:37:02 UTC] 📊 Database Info:
[25-Nov-2025 12:37:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:37:02 UTC]    Books columns count: 45
[25-Nov-2025 12:37:02 UTC]    Categories columns count: 7
[25-Nov-2025 12:37:02 UTC]    Language field in books: YES
[25-Nov-2025 12:37:02 UTC]    Format field in books: YES
[25-Nov-2025 12:37:02 UTC]    Description field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:37:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:37:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:37:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:37:02 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:37:02 UTC] 📊 Database Info:
[25-Nov-2025 12:37:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:37:02 UTC]    Books columns count: 45
[25-Nov-2025 12:37:02 UTC]    Categories columns count: 7
[25-Nov-2025 12:37:02 UTC]    Language field in books: YES
[25-Nov-2025 12:37:02 UTC]    Format field in books: YES
[25-Nov-2025 12:37:02 UTC]    Description field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:37:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:37:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:37:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:37:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:37:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:37:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:37:02 UTC] 📊 Database Info:
[25-Nov-2025 12:37:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:37:02 UTC]    Books columns count: 45
[25-Nov-2025 12:37:02 UTC]    Categories columns count: 7
[25-Nov-2025 12:37:02 UTC]    Language field in books: YES
[25-Nov-2025 12:37:02 UTC]    Format field in books: YES
[25-Nov-2025 12:37:02 UTC]    Description field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:37:02 UTC]    Is_active field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:37:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:37:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:37:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:37:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:37:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:37:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:37:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:37:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:01 UTC] 📊 Database Info:
[25-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:01 UTC]    Books columns count: 45
[25-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:01 UTC]    Language field in books: YES
[25-Nov-2025 12:39:01 UTC]    Format field in books: YES
[25-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:01 UTC] 📊 Database Info:
[25-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:01 UTC]    Books columns count: 45
[25-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:01 UTC]    Language field in books: YES
[25-Nov-2025 12:39:01 UTC]    Format field in books: YES
[25-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:39:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:39:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:39:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:39:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:01 UTC] 📊 Database Info:
[25-Nov-2025 12:39:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:01 UTC]    Books columns count: 45
[25-Nov-2025 12:39:01 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:01 UTC]    Language field in books: YES
[25-Nov-2025 12:39:01 UTC]    Format field in books: YES
[25-Nov-2025 12:39:01 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:01 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 12:39:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:39:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:39:01 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:39:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:39:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:39:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:08 UTC] 📊 Database Info:
[25-Nov-2025 12:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:08 UTC]    Books columns count: 45
[25-Nov-2025 12:39:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:08 UTC]    Language field in books: YES
[25-Nov-2025 12:39:08 UTC]    Format field in books: YES
[25-Nov-2025 12:39:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:39:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:39:08 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:39:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:39:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:08 UTC] 📊 Database Info:
[25-Nov-2025 12:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:08 UTC]    Books columns count: 45
[25-Nov-2025 12:39:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:08 UTC]    Language field in books: YES
[25-Nov-2025 12:39:08 UTC]    Format field in books: YES
[25-Nov-2025 12:39:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:39:08 UTC] 📊 Database Info:
[25-Nov-2025 12:39:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:39:08 UTC]    Books columns count: 45
[25-Nov-2025 12:39:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:39:08 UTC]    Language field in books: YES
[25-Nov-2025 12:39:08 UTC]    Format field in books: YES
[25-Nov-2025 12:39:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:39:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:39:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:39:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:39:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:39:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:39:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:39:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:39:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:39:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:40:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:40:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:40:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:40:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:40:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:40:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:40:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:40:21 UTC] 📊 Database Info:
[25-Nov-2025 12:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:40:21 UTC]    Books columns count: 45
[25-Nov-2025 12:40:21 UTC]    Categories columns count: 7
[25-Nov-2025 12:40:21 UTC]    Language field in books: YES
[25-Nov-2025 12:40:21 UTC]    Format field in books: YES
[25-Nov-2025 12:40:21 UTC]    Description field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:40:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:40:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:40:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:40:21 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:40:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:40:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:40:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:40:21 UTC] 📊 Database Info:
[25-Nov-2025 12:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:40:21 UTC]    Books columns count: 45
[25-Nov-2025 12:40:21 UTC]    Categories columns count: 7
[25-Nov-2025 12:40:21 UTC]    Language field in books: YES
[25-Nov-2025 12:40:21 UTC]    Format field in books: YES
[25-Nov-2025 12:40:21 UTC]    Description field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:40:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:40:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:40:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:40:21 UTC] 📊 Database Info:
[25-Nov-2025 12:40:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:40:21 UTC]    Books columns count: 45
[25-Nov-2025 12:40:21 UTC]    Categories columns count: 7
[25-Nov-2025 12:40:21 UTC]    Language field in books: YES
[25-Nov-2025 12:40:21 UTC]    Format field in books: YES
[25-Nov-2025 12:40:21 UTC]    Description field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:40:21 UTC]    Is_active field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:40:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:40:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:40:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:40:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:40:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:40:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:40:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:40:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:41:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:41:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:41:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:41:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:41:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:41:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:41:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:41:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12: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
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:41:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:41:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:41:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:41:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:41:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:41:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:41:52 UTC] 📊 Database Info:
[25-Nov-2025 12:41:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:41:52 UTC]    Books columns count: 45
[25-Nov-2025 12:41:52 UTC]    Categories columns count: 7
[25-Nov-2025 12:41:52 UTC]    Language field in books: YES
[25-Nov-2025 12:41:52 UTC]    Format field in books: YES
[25-Nov-2025 12:41:52 UTC]    Description field in categories: YES
[25-Nov-2025 12:41:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:41:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:41:52 UTC]    Is_active field in books: YES
[25-Nov-2025 12:41:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:41:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:41:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:41:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:41:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:41:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:41:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:41:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:41:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:41:53 UTC] 📊 Database Info:
[25-Nov-2025 12:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:41:53 UTC]    Books columns count: 45
[25-Nov-2025 12:41:53 UTC]    Categories columns count: 7
[25-Nov-2025 12:41:53 UTC]    Language field in books: YES
[25-Nov-2025 12:41:53 UTC]    Format field in books: YES
[25-Nov-2025 12:41:53 UTC]    Description field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Is_active field in books: YES
[25-Nov-2025 12:41:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:41:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:41:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:41:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:41:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:41:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:41:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:41:53 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:41:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:41:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:41:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:41:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:41:53 UTC] 📊 Database Info:
[25-Nov-2025 12:41:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:41:53 UTC]    Books columns count: 45
[25-Nov-2025 12:41:53 UTC]    Categories columns count: 7
[25-Nov-2025 12:41:53 UTC]    Language field in books: YES
[25-Nov-2025 12:41:53 UTC]    Format field in books: YES
[25-Nov-2025 12:41:53 UTC]    Description field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:41:53 UTC]    Is_active field in books: YES
[25-Nov-2025 12:41:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:41:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:41:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:41:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:41:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:41:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:41:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:41:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:41:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:41:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:57:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:57:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:57:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57: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 12:57:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57: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 12:57:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57: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 12:57: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 12:57: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 12:57: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 12:57:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:57:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:57:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:57:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57: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 12:57:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57: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 12:57: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 12:57:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:57:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:57:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:57:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:57:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:57:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:57:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:57:08 UTC] 📊 Database Info:
[25-Nov-2025 12:57:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:57:08 UTC]    Books columns count: 45
[25-Nov-2025 12:57:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:57:08 UTC]    Language field in books: YES
[25-Nov-2025 12:57:08 UTC]    Format field in books: YES
[25-Nov-2025 12:57:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:57:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:57:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:57:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:57:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:57:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:57:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:57:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:57:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:57:08 UTC] 📊 Database Info:
[25-Nov-2025 12:57:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:57:08 UTC]    Books columns count: 45
[25-Nov-2025 12:57:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:57:08 UTC]    Language field in books: YES
[25-Nov-2025 12:57:08 UTC]    Format field in books: YES
[25-Nov-2025 12:57:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:57:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:57:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:57:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:57:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:57:08 UTC] 📊 Database Info:
[25-Nov-2025 12:57:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:57:08 UTC]    Books columns count: 45
[25-Nov-2025 12:57:08 UTC]    Categories columns count: 7
[25-Nov-2025 12:57:08 UTC]    Language field in books: YES
[25-Nov-2025 12:57:08 UTC]    Format field in books: YES
[25-Nov-2025 12:57:08 UTC]    Description field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:57:08 UTC]    Is_active field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:57:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:57:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:57:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:57:08 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 12:57:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:57:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:58:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:58:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:58:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:58:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 12:58:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 12:58:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 12:58:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:58:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:58:53 UTC] 📊 Database Info:
[25-Nov-2025 12:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:58:53 UTC]    Books columns count: 45
[25-Nov-2025 12:58:53 UTC]    Categories columns count: 7
[25-Nov-2025 12:58:53 UTC]    Language field in books: YES
[25-Nov-2025 12:58:53 UTC]    Format field in books: YES
[25-Nov-2025 12:58:53 UTC]    Description field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:58:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:58:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:58:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 12:58:53 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:58:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:58:53 UTC] 📊 Database Info:
[25-Nov-2025 12:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:58:53 UTC]    Books columns count: 45
[25-Nov-2025 12:58:53 UTC]    Categories columns count: 7
[25-Nov-2025 12:58:53 UTC]    Language field in books: YES
[25-Nov-2025 12:58:53 UTC]    Format field in books: YES
[25-Nov-2025 12:58:53 UTC]    Description field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:58:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:58:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 12:58:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 12:58:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 12:58:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 12:58:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 12:58:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 12:58:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 12:58:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 12:58:53 UTC] 📊 Database Info:
[25-Nov-2025 12:58:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 12:58:53 UTC]    Books columns count: 45
[25-Nov-2025 12:58:53 UTC]    Categories columns count: 7
[25-Nov-2025 12:58:53 UTC]    Language field in books: YES
[25-Nov-2025 12:58:53 UTC]    Format field in books: YES
[25-Nov-2025 12:58:53 UTC]    Description field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 12:58:53 UTC]    Is_active field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 12:58:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 12:58:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 12:58:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12: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
[25-Nov-2025 12:58:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 12:58:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:01:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:01:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:01:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:01:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:01:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:01:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:01:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:01:54 UTC] 📊 Database Info:
[25-Nov-2025 13:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:01:54 UTC]    Books columns count: 45
[25-Nov-2025 13:01:54 UTC]    Categories columns count: 7
[25-Nov-2025 13:01:54 UTC]    Language field in books: YES
[25-Nov-2025 13:01:54 UTC]    Format field in books: YES
[25-Nov-2025 13:01:54 UTC]    Description field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in books: YES
[25-Nov-2025 13:01:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:01:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:01:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:01:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:01:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:01:54 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:01:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:01:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:01:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:01:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:01:54 UTC] 📊 Database Info:
[25-Nov-2025 13:01:54 UTC] 📊 Database Info:
[25-Nov-2025 13:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:01:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:01:54 UTC]    Books columns count: 45
[25-Nov-2025 13:01:54 UTC]    Books columns count: 45
[25-Nov-2025 13:01:54 UTC]    Categories columns count: 7
[25-Nov-2025 13:01:54 UTC]    Categories columns count: 7
[25-Nov-2025 13:01:54 UTC]    Language field in books: YES
[25-Nov-2025 13:01:54 UTC]    Language field in books: YES
[25-Nov-2025 13:01:54 UTC]    Format field in books: YES
[25-Nov-2025 13:01:54 UTC]    Format field in books: YES
[25-Nov-2025 13:01:54 UTC]    Description field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Description field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in books: YES
[25-Nov-2025 13:01:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:01:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:01:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:01:54 UTC]    Is_active field in books: YES
[25-Nov-2025 13:01:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:01:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:01:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:01:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:01:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:01:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:01:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:01:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:01:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:01:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:01:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:02:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:02:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:02:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:02:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:02:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:02:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:02:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:02:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:02:40 UTC] 📊 Database Info:
[25-Nov-2025 13:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:02:40 UTC]    Books columns count: 45
[25-Nov-2025 13:02:40 UTC]    Categories columns count: 7
[25-Nov-2025 13:02:40 UTC]    Language field in books: YES
[25-Nov-2025 13:02:40 UTC]    Format field in books: YES
[25-Nov-2025 13:02:40 UTC]    Description field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:02:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:02:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:02:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:02:40 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:02:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:02:40 UTC] 📊 Database Info:
[25-Nov-2025 13:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:02:40 UTC]    Books columns count: 45
[25-Nov-2025 13:02:40 UTC]    Categories columns count: 7
[25-Nov-2025 13:02:40 UTC]    Language field in books: YES
[25-Nov-2025 13:02:40 UTC]    Format field in books: YES
[25-Nov-2025 13:02:40 UTC]    Description field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:02:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:02:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:02:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:02:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:02:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:02:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:02:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:02:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:02:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:02:40 UTC] 📊 Database Info:
[25-Nov-2025 13:02:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:02:40 UTC]    Books columns count: 45
[25-Nov-2025 13:02:40 UTC]    Categories columns count: 7
[25-Nov-2025 13:02:40 UTC]    Language field in books: YES
[25-Nov-2025 13:02:40 UTC]    Format field in books: YES
[25-Nov-2025 13:02:40 UTC]    Description field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:02:40 UTC]    Is_active field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:02:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:02:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:02:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:02:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:02:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 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 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 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 13:03: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
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 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 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 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 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 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 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 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 13:03: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
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:19 UTC] 📊 Database Info:
[25-Nov-2025 13:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:19 UTC]    Books columns count: 45
[25-Nov-2025 13:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:19 UTC]    Language field in books: YES
[25-Nov-2025 13:03:19 UTC]    Format field in books: YES
[25-Nov-2025 13:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:19 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:03:19 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:03:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:20 UTC] 📊 Database Info:
[25-Nov-2025 13:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:20 UTC]    Books columns count: 45
[25-Nov-2025 13:03:20 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:20 UTC]    Language field in books: YES
[25-Nov-2025 13:03:20 UTC]    Format field in books: YES
[25-Nov-2025 13:03:20 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:20 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:03:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:03:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:03:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:03:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:03:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:35 UTC] 📊 Database Info:
[25-Nov-2025 13:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:35 UTC]    Books columns count: 45
[25-Nov-2025 13:03:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:35 UTC]    Language field in books: YES
[25-Nov-2025 13:03:35 UTC]    Format field in books: YES
[25-Nov-2025 13:03:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:03:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:03:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:35 UTC] 📊 Database Info:
[25-Nov-2025 13:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:35 UTC]    Books columns count: 45
[25-Nov-2025 13:03:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:35 UTC]    Language field in books: YES
[25-Nov-2025 13:03:35 UTC]    Format field in books: YES
[25-Nov-2025 13:03:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:03:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:03:35 UTC] 📊 Database Info:
[25-Nov-2025 13:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:03:35 UTC]    Books columns count: 45
[25-Nov-2025 13:03:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:03:35 UTC]    Language field in books: YES
[25-Nov-2025 13:03:35 UTC]    Format field in books: YES
[25-Nov-2025 13:03:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:03:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:03:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:03:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:03:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:03:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:03:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:03:35 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:04:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:03 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 13:04: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
[25-Nov-2025 13:04:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:03 UTC] 📊 Database Info:
[25-Nov-2025 13:04:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:03 UTC]    Books columns count: 45
[25-Nov-2025 13:04:03 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:03 UTC]    Language field in books: YES
[25-Nov-2025 13:04:03 UTC]    Format field in books: YES
[25-Nov-2025 13:04:03 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:03 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:23 UTC] 📊 Database Info:
[25-Nov-2025 13:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:23 UTC]    Books columns count: 45
[25-Nov-2025 13:04:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:23 UTC]    Language field in books: YES
[25-Nov-2025 13:04:23 UTC]    Format field in books: YES
[25-Nov-2025 13:04:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:23 UTC] 📊 Database Info:
[25-Nov-2025 13:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:23 UTC]    Books columns count: 45
[25-Nov-2025 13:04:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:23 UTC]    Language field in books: YES
[25-Nov-2025 13:04:23 UTC]    Format field in books: YES
[25-Nov-2025 13:04:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:23 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:04:23 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:04:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:23 UTC] 📊 Database Info:
[25-Nov-2025 13:04:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:23 UTC]    Books columns count: 45
[25-Nov-2025 13:04:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:23 UTC]    Language field in books: YES
[25-Nov-2025 13:04:23 UTC]    Format field in books: YES
[25-Nov-2025 13:04:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:26 UTC] 📊 Database Info:
[25-Nov-2025 13:04:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:26 UTC]    Books columns count: 45
[25-Nov-2025 13:04:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:26 UTC]    Language field in books: YES
[25-Nov-2025 13:04:26 UTC]    Format field in books: YES
[25-Nov-2025 13:04:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:26 UTC] 📊 Database Info:
[25-Nov-2025 13:04:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:26 UTC]    Books columns count: 45
[25-Nov-2025 13:04:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:26 UTC]    Language field in books: YES
[25-Nov-2025 13:04:26 UTC]    Format field in books: YES
[25-Nov-2025 13:04:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:26 UTC] 📊 Database Info:
[25-Nov-2025 13:04:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:26 UTC]    Books columns count: 45
[25-Nov-2025 13:04:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:26 UTC]    Language field in books: YES
[25-Nov-2025 13:04:26 UTC]    Format field in books: YES
[25-Nov-2025 13:04:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:26 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:26 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:26 UTC] 📊 Database Info:
[25-Nov-2025 13:04:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:26 UTC]    Books columns count: 45
[25-Nov-2025 13:04:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:26 UTC]    Language field in books: YES
[25-Nov-2025 13:04:26 UTC]    Format field in books: YES
[25-Nov-2025 13:04:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:27 UTC] 📊 Database Info:
[25-Nov-2025 13:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:27 UTC]    Books columns count: 45
[25-Nov-2025 13:04:27 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:27 UTC]    Language field in books: YES
[25-Nov-2025 13:04:27 UTC]    Format field in books: YES
[25-Nov-2025 13:04:27 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:27 UTC] 📊 Database Info:
[25-Nov-2025 13:04:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:27 UTC]    Books columns count: 45
[25-Nov-2025 13:04:27 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:27 UTC]    Language field in books: YES
[25-Nov-2025 13:04:27 UTC]    Format field in books: YES
[25-Nov-2025 13:04:27 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:27 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:27 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:27 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:28 UTC] 📊 Database Info:
[25-Nov-2025 13:04:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:28 UTC]    Books columns count: 45
[25-Nov-2025 13:04:28 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:28 UTC]    Language field in books: YES
[25-Nov-2025 13:04:28 UTC]    Format field in books: YES
[25-Nov-2025 13:04:28 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:28 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:29 UTC] 📊 Database Info:
[25-Nov-2025 13:04:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:29 UTC]    Books columns count: 45
[25-Nov-2025 13:04:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:29 UTC]    Language field in books: YES
[25-Nov-2025 13:04:29 UTC]    Format field in books: YES
[25-Nov-2025 13:04:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:29 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 13:04: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
[25-Nov-2025 13:04:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:29 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 13:04: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
[25-Nov-2025 13:04:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:29 UTC] 📊 Database Info:
[25-Nov-2025 13:04:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:29 UTC]    Books columns count: 45
[25-Nov-2025 13:04:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:29 UTC]    Language field in books: YES
[25-Nov-2025 13:04:29 UTC]    Format field in books: YES
[25-Nov-2025 13:04:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:29 UTC] 📊 Database Info:
[25-Nov-2025 13:04:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:29 UTC]    Books columns count: 45
[25-Nov-2025 13:04:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:29 UTC]    Language field in books: YES
[25-Nov-2025 13:04:29 UTC]    Format field in books: YES
[25-Nov-2025 13:04:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:04:31 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:04:31 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:31 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:04:31 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:04:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:31 UTC] 📊 Database Info:
[25-Nov-2025 13:04:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:31 UTC]    Books columns count: 45
[25-Nov-2025 13:04:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:31 UTC]    Language field in books: YES
[25-Nov-2025 13:04:31 UTC]    Format field in books: YES
[25-Nov-2025 13:04:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:43 UTC] 📊 Database Info:
[25-Nov-2025 13:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:43 UTC]    Books columns count: 45
[25-Nov-2025 13:04:43 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:43 UTC]    Language field in books: YES
[25-Nov-2025 13:04:43 UTC]    Format field in books: YES
[25-Nov-2025 13:04:43 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:43 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:04:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:43 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:43 UTC] 📊 Database Info:
[25-Nov-2025 13:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:43 UTC]    Books columns count: 45
[25-Nov-2025 13:04:43 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:43 UTC]    Language field in books: YES
[25-Nov-2025 13:04:43 UTC]    Format field in books: YES
[25-Nov-2025 13:04:43 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:43 UTC] 📊 Database Info:
[25-Nov-2025 13:04:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:43 UTC]    Books columns count: 45
[25-Nov-2025 13:04:43 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:43 UTC]    Language field in books: YES
[25-Nov-2025 13:04:43 UTC]    Format field in books: YES
[25-Nov-2025 13:04:43 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:43 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:04:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:47 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 13:04: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
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:47 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 13:04: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
[25-Nov-2025 13:04:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:47 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 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04: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
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:04:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:04:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:47 UTC] 📊 Database Info:
[25-Nov-2025 13:04:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:47 UTC]    Books columns count: 45
[25-Nov-2025 13:04:47 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:47 UTC]    Language field in books: YES
[25-Nov-2025 13:04:47 UTC]    Format field in books: YES
[25-Nov-2025 13:04:47 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:04:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:04:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:47 UTC] 📊 Database Info:
[25-Nov-2025 13:04:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:47 UTC]    Books columns count: 45
[25-Nov-2025 13:04:47 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:47 UTC]    Language field in books: YES
[25-Nov-2025 13:04:47 UTC]    Format field in books: YES
[25-Nov-2025 13:04:47 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:04:47 UTC] 📊 Database Info:
[25-Nov-2025 13:04:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:04:47 UTC]    Books columns count: 45
[25-Nov-2025 13:04:47 UTC]    Categories columns count: 7
[25-Nov-2025 13:04:47 UTC]    Language field in books: YES
[25-Nov-2025 13:04:47 UTC]    Format field in books: YES
[25-Nov-2025 13:04:47 UTC]    Description field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:04:47 UTC]    Is_active field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:04:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:04:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:04:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:04:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:04:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:04:47 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:04:47 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:16 UTC] 📊 Database Info:
[25-Nov-2025 13:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:16 UTC]    Books columns count: 45
[25-Nov-2025 13:05:16 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:16 UTC]    Language field in books: YES
[25-Nov-2025 13:05:16 UTC]    Format field in books: YES
[25-Nov-2025 13:05:16 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:16 UTC] 📊 Database Info:
[25-Nov-2025 13:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:16 UTC]    Books columns count: 45
[25-Nov-2025 13:05:16 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:16 UTC]    Language field in books: YES
[25-Nov-2025 13:05:16 UTC]    Format field in books: YES
[25-Nov-2025 13:05:16 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:05:16 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:05:16 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:05:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:16 UTC] 📊 Database Info:
[25-Nov-2025 13:05:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:16 UTC]    Books columns count: 45
[25-Nov-2025 13:05:16 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:16 UTC]    Language field in books: YES
[25-Nov-2025 13:05:16 UTC]    Format field in books: YES
[25-Nov-2025 13:05:16 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:16 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:05:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:05:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:05:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:34 UTC] 📊 Database Info:
[25-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:34 UTC]    Books columns count: 45
[25-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:34 UTC]    Language field in books: YES
[25-Nov-2025 13:05:34 UTC]    Format field in books: YES
[25-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:05:34 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:05:34 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:34 UTC] 📊 Database Info:
[25-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:34 UTC]    Books columns count: 45
[25-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:34 UTC]    Language field in books: YES
[25-Nov-2025 13:05:34 UTC]    Format field in books: YES
[25-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:05:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:05:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:05:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:05:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:05:34 UTC] 📊 Database Info:
[25-Nov-2025 13:05:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:05:34 UTC]    Books columns count: 45
[25-Nov-2025 13:05:34 UTC]    Categories columns count: 7
[25-Nov-2025 13:05:34 UTC]    Language field in books: YES
[25-Nov-2025 13:05:34 UTC]    Format field in books: YES
[25-Nov-2025 13:05:34 UTC]    Description field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:05:34 UTC]    Is_active field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:05:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:05:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:05:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:05:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:05:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:05 UTC] 📊 Database Info:
[25-Nov-2025 13:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:05 UTC]    Books columns count: 45
[25-Nov-2025 13:07:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:05 UTC]    Language field in books: YES
[25-Nov-2025 13:07:05 UTC]    Format field in books: YES
[25-Nov-2025 13:07:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:07:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:05 UTC] 📊 Database Info:
[25-Nov-2025 13:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:05 UTC]    Books columns count: 45
[25-Nov-2025 13:07:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:05 UTC]    Language field in books: YES
[25-Nov-2025 13:07:05 UTC]    Format field in books: YES
[25-Nov-2025 13:07:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:05 UTC] 📊 Database Info:
[25-Nov-2025 13:07:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:05 UTC]    Books columns count: 45
[25-Nov-2025 13:07:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:05 UTC]    Language field in books: YES
[25-Nov-2025 13:07:05 UTC]    Format field in books: YES
[25-Nov-2025 13:07:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:23 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 13:07: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
[25-Nov-2025 13:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:23 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 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 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 13:07: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
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:23 UTC] 📊 Database Info:
[25-Nov-2025 13:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:23 UTC]    Books columns count: 45
[25-Nov-2025 13:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:23 UTC]    Language field in books: YES
[25-Nov-2025 13:07:23 UTC]    Format field in books: YES
[25-Nov-2025 13:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:07:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:07:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:23 UTC] 📊 Database Info:
[25-Nov-2025 13:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:23 UTC]    Books columns count: 45
[25-Nov-2025 13:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:23 UTC]    Language field in books: YES
[25-Nov-2025 13:07:23 UTC]    Format field in books: YES
[25-Nov-2025 13:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:23 UTC] 📊 Database Info:
[25-Nov-2025 13:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:23 UTC]    Books columns count: 45
[25-Nov-2025 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:23 UTC]    Language field in books: YES
[25-Nov-2025 13:07:23 UTC]    Format field in books: YES
[25-Nov-2025 13:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:25 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 13:07: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
[25-Nov-2025 13:07:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:25 UTC] 📊 Database Info:
[25-Nov-2025 13:07:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:25 UTC]    Books columns count: 45
[25-Nov-2025 13:07:25 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:25 UTC]    Language field in books: YES
[25-Nov-2025 13:07:25 UTC]    Format field in books: YES
[25-Nov-2025 13:07:25 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:25 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:28 UTC] 📊 Database Info:
[25-Nov-2025 13:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:28 UTC]    Books columns count: 45
[25-Nov-2025 13:07:28 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:28 UTC]    Language field in books: YES
[25-Nov-2025 13:07:28 UTC]    Format field in books: YES
[25-Nov-2025 13:07:28 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:28 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}
[25-Nov-2025 13:07:28 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 13:07:28 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:07:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:28 UTC] 📊 Database Info:
[25-Nov-2025 13:07:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:28 UTC]    Books columns count: 45
[25-Nov-2025 13:07:28 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:28 UTC]    Language field in books: YES
[25-Nov-2025 13:07:28 UTC]    Format field in books: YES
[25-Nov-2025 13:07:28 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:28 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:28 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}
[25-Nov-2025 13:07:28 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 13:07:28 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:07:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:07:41 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:41 UTC] 📊 Database Info:
[25-Nov-2025 13:07:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:41 UTC]    Books columns count: 45
[25-Nov-2025 13:07:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:41 UTC]    Language field in books: YES
[25-Nov-2025 13:07:41 UTC]    Format field in books: YES
[25-Nov-2025 13:07:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:07:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:07:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:07:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:42 UTC] 📊 Database Info:
[25-Nov-2025 13:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:42 UTC]    Books columns count: 45
[25-Nov-2025 13:07:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:42 UTC]    Language field in books: YES
[25-Nov-2025 13:07:42 UTC]    Format field in books: YES
[25-Nov-2025 13:07:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:42 UTC] 📊 Database Info:
[25-Nov-2025 13:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:42 UTC]    Books columns count: 45
[25-Nov-2025 13:07:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:42 UTC]    Language field in books: YES
[25-Nov-2025 13:07:42 UTC]    Format field in books: YES
[25-Nov-2025 13:07:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:42 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:07:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:42 UTC] 📊 Database Info:
[25-Nov-2025 13:07:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:42 UTC]    Books columns count: 45
[25-Nov-2025 13:07:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:42 UTC]    Language field in books: YES
[25-Nov-2025 13:07:42 UTC]    Format field in books: YES
[25-Nov-2025 13:07:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:42 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:07:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:43 UTC] 📊 Database Info:
[25-Nov-2025 13:07:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:43 UTC]    Books columns count: 45
[25-Nov-2025 13:07:43 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:43 UTC]    Language field in books: YES
[25-Nov-2025 13:07:43 UTC]    Format field in books: YES
[25-Nov-2025 13:07:43 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:43 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:07:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:45 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 13:07: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
[25-Nov-2025 13:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:45 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 13:07: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
[25-Nov-2025 13:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:45 UTC] 📊 Database Info:
[25-Nov-2025 13:07:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:45 UTC]    Books columns count: 45
[25-Nov-2025 13:07:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:45 UTC]    Language field in books: YES
[25-Nov-2025 13:07:45 UTC]    Format field in books: YES
[25-Nov-2025 13:07:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:45 UTC] 📊 Database Info:
[25-Nov-2025 13:07:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:45 UTC]    Books columns count: 45
[25-Nov-2025 13:07:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:45 UTC]    Language field in books: YES
[25-Nov-2025 13:07:45 UTC]    Format field in books: YES
[25-Nov-2025 13:07:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07: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}
[25-Nov-2025 13:07:45 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 13:07:45 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07: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
[25-Nov-2025 13:07:45 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 13:07: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
[25-Nov-2025 13:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:07:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:07:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:07:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:07:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:07:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:07:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:07:45 UTC] 📊 Database Info:
[25-Nov-2025 13:07:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:07:45 UTC]    Books columns count: 45
[25-Nov-2025 13:07:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:07:45 UTC]    Language field in books: YES
[25-Nov-2025 13:07:45 UTC]    Format field in books: YES
[25-Nov-2025 13:07:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:07:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:07:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:07:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:07:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:07:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:07:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:07: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}
[25-Nov-2025 13:07:45 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 13:07:45 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:08:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:08:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:01 UTC] 📊 Database Info:
[25-Nov-2025 13:08:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:01 UTC]    Books columns count: 45
[25-Nov-2025 13:08:01 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:01 UTC]    Language field in books: YES
[25-Nov-2025 13:08:01 UTC]    Format field in books: YES
[25-Nov-2025 13:08:01 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:01 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:08:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 13:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-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
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-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
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:02 UTC] 📊 Database Info:
[25-Nov-2025 13:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:02 UTC]    Books columns count: 45
[25-Nov-2025 13:08:02 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:02 UTC]    Language field in books: YES
[25-Nov-2025 13:08:02 UTC]    Format field in books: YES
[25-Nov-2025 13:08:02 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:08:02 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:08:02 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:02 UTC] 📊 Database Info:
[25-Nov-2025 13:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:02 UTC]    Books columns count: 45
[25-Nov-2025 13:08:02 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:02 UTC]    Language field in books: YES
[25-Nov-2025 13:08:02 UTC]    Format field in books: YES
[25-Nov-2025 13:08:02 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:08:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:02 UTC] 📊 Database Info:
[25-Nov-2025 13:08:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:02 UTC]    Books columns count: 45
[25-Nov-2025 13:08:02 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:02 UTC]    Language field in books: YES
[25-Nov-2025 13:08:02 UTC]    Format field in books: YES
[25-Nov-2025 13:08:02 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:02 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 13:08:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:08:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08: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 13:08: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 13:08: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 13:08:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:39 UTC] 📊 Database Info:
[25-Nov-2025 13:08:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:39 UTC]    Books columns count: 45
[25-Nov-2025 13:08:39 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:39 UTC]    Language field in books: YES
[25-Nov-2025 13:08:39 UTC]    Format field in books: YES
[25-Nov-2025 13:08:39 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:39 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:08:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08: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 13:08: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 13:08: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 13:08:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:08:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:08:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:08:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:08:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:08:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:08:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:08:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:08:40 UTC] 📊 Database Info:
[25-Nov-2025 13:08:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:08:40 UTC]    Books columns count: 45
[25-Nov-2025 13:08:40 UTC]    Categories columns count: 7
[25-Nov-2025 13:08:40 UTC]    Language field in books: YES
[25-Nov-2025 13:08:40 UTC]    Format field in books: YES
[25-Nov-2025 13:08:40 UTC]    Description field in categories: YES
[25-Nov-2025 13:08:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:08:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:08:40 UTC]    Is_active field in books: YES
[25-Nov-2025 13:08:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:08:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:08:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:08:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:08:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:08:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:08:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:08:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:10:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:10:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:10:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10: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 13:10: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 13:10: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 13:10:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:10:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10: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 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10: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 13:10: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 13:10: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 13:10: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 13:10: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 13:10:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:10:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:10:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:10:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:10:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:10:05 UTC] 📊 Database Info:
[25-Nov-2025 13:10:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:10:05 UTC]    Books columns count: 45
[25-Nov-2025 13:10:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:10:05 UTC]    Language field in books: YES
[25-Nov-2025 13:10:05 UTC]    Format field in books: YES
[25-Nov-2025 13:10:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:10:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:10:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:10:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:10:05 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:10:05 UTC] 📊 Database Info:
[25-Nov-2025 13:10:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:10:05 UTC]    Books columns count: 45
[25-Nov-2025 13:10:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:10:05 UTC]    Language field in books: YES
[25-Nov-2025 13:10:05 UTC]    Format field in books: YES
[25-Nov-2025 13:10:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:10:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:10:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:10:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:10:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:10:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:10:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:10:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:10:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:10:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:10:05 UTC] 📊 Database Info:
[25-Nov-2025 13:10:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:10:05 UTC]    Books columns count: 45
[25-Nov-2025 13:10:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:10:05 UTC]    Language field in books: YES
[25-Nov-2025 13:10:05 UTC]    Format field in books: YES
[25-Nov-2025 13:10:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:10:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:10:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:10:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:10:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:10:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:10:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:11:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:11:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:11:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11: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
[25-Nov-2025 13:11:41 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 13:11: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
[25-Nov-2025 13:11:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:11:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11: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
[25-Nov-2025 13:11:41 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 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11: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
[25-Nov-2025 13:11: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
[25-Nov-2025 13:11:41 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 13:11: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
[25-Nov-2025 13:11:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:11:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:11:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:11:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:11:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:11:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:11:41 UTC] 📊 Database Info:
[25-Nov-2025 13:11:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:11:41 UTC]    Books columns count: 45
[25-Nov-2025 13:11:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:11:41 UTC]    Language field in books: YES
[25-Nov-2025 13:11:41 UTC]    Format field in books: YES
[25-Nov-2025 13:11:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:11:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:11:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:11:41 UTC] 📊 Database Info:
[25-Nov-2025 13:11:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:11:41 UTC]    Books columns count: 45
[25-Nov-2025 13:11:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:11:41 UTC]    Language field in books: YES
[25-Nov-2025 13:11:41 UTC]    Format field in books: YES
[25-Nov-2025 13:11:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:11:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:11:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:11:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:11:41 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:11:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:11:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:11:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:11:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:11:41 UTC] 📊 Database Info:
[25-Nov-2025 13:11:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:11:41 UTC]    Books columns count: 45
[25-Nov-2025 13:11:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:11:41 UTC]    Language field in books: YES
[25-Nov-2025 13:11:41 UTC]    Format field in books: YES
[25-Nov-2025 13:11:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:11:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:11:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:11:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:11:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:11:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:11:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:11:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:11:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:11:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:12:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:12:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:12: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
[25-Nov-2025 13:12:20 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 13:12: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
[25-Nov-2025 13:12:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:12:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:12:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:12:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:12:20 UTC] 📊 Database Info:
[25-Nov-2025 13:12:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:12:20 UTC]    Books columns count: 45
[25-Nov-2025 13:12:20 UTC]    Categories columns count: 7
[25-Nov-2025 13:12:20 UTC]    Language field in books: YES
[25-Nov-2025 13:12:20 UTC]    Format field in books: YES
[25-Nov-2025 13:12:20 UTC]    Description field in categories: YES
[25-Nov-2025 13:12:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:12:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:12:20 UTC]    Is_active field in books: YES
[25-Nov-2025 13:12:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:12:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:12:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:12:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:12:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:12:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:12:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:12:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:12:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:12:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:12:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:12:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:12:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:12:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:12:25 UTC] 📊 Database Info:
[25-Nov-2025 13:12:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:12:25 UTC]    Books columns count: 45
[25-Nov-2025 13:12:25 UTC]    Categories columns count: 7
[25-Nov-2025 13:12:25 UTC]    Language field in books: YES
[25-Nov-2025 13:12:25 UTC]    Format field in books: YES
[25-Nov-2025 13:12:25 UTC]    Description field in categories: YES
[25-Nov-2025 13:12:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:12:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:12:25 UTC]    Is_active field in books: YES
[25-Nov-2025 13:12:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:12:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:12:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:12:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:12:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:12:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:12:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:12:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:12:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:12: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
[25-Nov-2025 13:12:26 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 13:12: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
[25-Nov-2025 13:12:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:12:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:12:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:12:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:12:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:12:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:12:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:12:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:12:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:12:26 UTC] 📊 Database Info:
[25-Nov-2025 13:12:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:12:26 UTC]    Books columns count: 45
[25-Nov-2025 13:12:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:12:26 UTC]    Language field in books: YES
[25-Nov-2025 13:12:26 UTC]    Format field in books: YES
[25-Nov-2025 13:12:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:12:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:12:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:12:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:12:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:12:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:12:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:12:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:12:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:12:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:12:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:12:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:11 UTC] 📊 Database Info:
[25-Nov-2025 13:13:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:11 UTC]    Books columns count: 45
[25-Nov-2025 13:13:11 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:11 UTC]    Language field in books: YES
[25-Nov-2025 13:13:11 UTC]    Format field in books: YES
[25-Nov-2025 13:13:11 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:11 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:12 UTC] 📊 Database Info:
[25-Nov-2025 13:13:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:12 UTC]    Books columns count: 45
[25-Nov-2025 13:13:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:12 UTC]    Language field in books: YES
[25-Nov-2025 13:13:12 UTC]    Format field in books: YES
[25-Nov-2025 13:13:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13: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
[25-Nov-2025 13:13:18 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 13:13: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
[25-Nov-2025 13:13:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:18 UTC] 📊 Database Info:
[25-Nov-2025 13:13:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:18 UTC]    Books columns count: 45
[25-Nov-2025 13:13:18 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:18 UTC]    Language field in books: YES
[25-Nov-2025 13:13:18 UTC]    Format field in books: YES
[25-Nov-2025 13:13:18 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:18 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:13:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:13:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:19 UTC] 📊 Database Info:
[25-Nov-2025 13:13:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:19 UTC]    Books columns count: 45
[25-Nov-2025 13:13:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:19 UTC]    Language field in books: YES
[25-Nov-2025 13:13:19 UTC]    Format field in books: YES
[25-Nov-2025 13:13:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:13:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:13:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:13:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:21 UTC] 📊 Database Info:
[25-Nov-2025 13:13:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:21 UTC]    Books columns count: 45
[25-Nov-2025 13:13:21 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:21 UTC]    Language field in books: YES
[25-Nov-2025 13:13:21 UTC]    Format field in books: YES
[25-Nov-2025 13:13:21 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:13:21 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:21 UTC] 📊 Database Info:
[25-Nov-2025 13:13:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:21 UTC]    Books columns count: 45
[25-Nov-2025 13:13:21 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:21 UTC]    Language field in books: YES
[25-Nov-2025 13:13:21 UTC]    Format field in books: YES
[25-Nov-2025 13:13:21 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:13:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:13:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:13:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:13:21 UTC] 📊 Database Info:
[25-Nov-2025 13:13:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:13:21 UTC]    Books columns count: 45
[25-Nov-2025 13:13:21 UTC]    Categories columns count: 7
[25-Nov-2025 13:13:21 UTC]    Language field in books: YES
[25-Nov-2025 13:13:21 UTC]    Format field in books: YES
[25-Nov-2025 13:13:21 UTC]    Description field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:13:21 UTC]    Is_active field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:13:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:13:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:13:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:13:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:13:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:13:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:13:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:13:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:14:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:14:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:14:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:14:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:14:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:14:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:14:36 UTC] 📊 Database Info:
[25-Nov-2025 13:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:14:36 UTC]    Books columns count: 45
[25-Nov-2025 13:14:36 UTC]    Categories columns count: 7
[25-Nov-2025 13:14:36 UTC]    Language field in books: YES
[25-Nov-2025 13:14:36 UTC]    Format field in books: YES
[25-Nov-2025 13:14:36 UTC]    Description field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Is_active field in books: YES
[25-Nov-2025 13:14:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:14:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:14:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:14:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:14:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:14:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:14:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:14:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:14:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:14:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:14:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:14:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:14:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:14:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:14:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:14:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:14:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:14:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:14:36 UTC] 📊 Database Info:
[25-Nov-2025 13:14:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:14:36 UTC]    Books columns count: 45
[25-Nov-2025 13:14:36 UTC]    Categories columns count: 7
[25-Nov-2025 13:14:36 UTC]    Language field in books: YES
[25-Nov-2025 13:14:36 UTC]    Format field in books: YES
[25-Nov-2025 13:14:36 UTC]    Description field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:14:36 UTC]    Is_active field in books: YES
[25-Nov-2025 13:14:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:14:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:14:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:14:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:14:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:14:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:14:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:15:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:15:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:15:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:15:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:15:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:15:30 UTC] 📊 Database Info:
[25-Nov-2025 13:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:15:30 UTC]    Books columns count: 45
[25-Nov-2025 13:15:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:15:30 UTC]    Language field in books: YES
[25-Nov-2025 13:15:30 UTC]    Format field in books: YES
[25-Nov-2025 13:15:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13:15:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:15:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:15:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:15:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:15:30 UTC] 📊 Database Info:
[25-Nov-2025 13:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:15:30 UTC]    Books columns count: 45
[25-Nov-2025 13:15:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:15:30 UTC]    Language field in books: YES
[25-Nov-2025 13:15:30 UTC]    Format field in books: YES
[25-Nov-2025 13:15:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13:15:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:15:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:15:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:15:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:15:30 UTC] 📊 Database Info:
[25-Nov-2025 13:15:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:15:30 UTC]    Books columns count: 45
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:15:30 UTC]    Language field in books: YES
[25-Nov-2025 13:15:30 UTC]    Format field in books: YES
[25-Nov-2025 13:15:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:15:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:15:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:15:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:15:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:15:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:15:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:15:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:15:30 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:15:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:15:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:15:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:15:57 UTC] 📊 Database Info:
[25-Nov-2025 13:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:15:57 UTC]    Books columns count: 45
[25-Nov-2025 13:15:57 UTC]    Categories columns count: 7
[25-Nov-2025 13:15:57 UTC]    Language field in books: YES
[25-Nov-2025 13:15:57 UTC]    Format field in books: YES
[25-Nov-2025 13:15:57 UTC]    Description field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Is_active field in books: YES
[25-Nov-2025 13:15:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:15:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:15:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:15:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:15:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:15:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:15:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:15:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:15:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:15:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:15:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:15:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:15:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:15:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:15:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:15:57 UTC] 📊 Database Info:
[25-Nov-2025 13:15:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:15:57 UTC]    Books columns count: 45
[25-Nov-2025 13:15:57 UTC]    Categories columns count: 7
[25-Nov-2025 13:15:57 UTC]    Language field in books: YES
[25-Nov-2025 13:15:57 UTC]    Format field in books: YES
[25-Nov-2025 13:15:57 UTC]    Description field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:15:57 UTC]    Is_active field in books: YES
[25-Nov-2025 13:15:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:15:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:15:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:15:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:15:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:15:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:15:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21: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 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21: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 13:21: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 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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 13:21: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 13:21: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 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21: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 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21: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 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21: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 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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 13:21: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 13:21: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 13:21: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 13:21: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 13:21: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 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21: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 13:21: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 13:21: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 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:07 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:07 UTC] 📊 Database Info:
[25-Nov-2025 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:07 UTC]    Books columns count: 45
[25-Nov-2025 13:21:07 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:07 UTC]    Language field in books: YES
[25-Nov-2025 13:21:07 UTC]    Format field in books: YES
[25-Nov-2025 13:21:07 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:07 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:09 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 13:21: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
[25-Nov-2025 13:21:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:09 UTC] 📊 Database Info:
[25-Nov-2025 13:21:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:09 UTC]    Books columns count: 45
[25-Nov-2025 13:21:09 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:09 UTC]    Language field in books: YES
[25-Nov-2025 13:21:09 UTC]    Format field in books: YES
[25-Nov-2025 13:21:09 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:09 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:18 UTC] 📊 Database Info:
[25-Nov-2025 13:21:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:18 UTC]    Books columns count: 45
[25-Nov-2025 13:21:18 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:18 UTC]    Language field in books: YES
[25-Nov-2025 13:21:18 UTC]    Format field in books: YES
[25-Nov-2025 13:21:18 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:18 UTC] 📊 Database Info:
[25-Nov-2025 13:21:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:18 UTC]    Books columns count: 45
[25-Nov-2025 13:21:18 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:18 UTC]    Language field in books: YES
[25-Nov-2025 13:21:18 UTC]    Format field in books: YES
[25-Nov-2025 13:21:18 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:18 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:18 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:18 UTC] 📊 Database Info:
[25-Nov-2025 13:21:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:18 UTC]    Books columns count: 45
[25-Nov-2025 13:21:18 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:18 UTC]    Language field in books: YES
[25-Nov-2025 13:21:18 UTC]    Format field in books: YES
[25-Nov-2025 13:21:18 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:18 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:25 UTC] 📊 Database Info:
[25-Nov-2025 13:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:25 UTC]    Books columns count: 45
[25-Nov-2025 13:21:25 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:25 UTC]    Language field in books: YES
[25-Nov-2025 13:21:25 UTC]    Format field in books: YES
[25-Nov-2025 13:21:25 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:25 UTC] 📊 Database Info:
[25-Nov-2025 13:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:25 UTC]    Books columns count: 45
[25-Nov-2025 13:21:25 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:25 UTC]    Language field in books: YES
[25-Nov-2025 13:21:25 UTC]    Format field in books: YES
[25-Nov-2025 13:21:25 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:25 UTC] 📊 Database Info:
[25-Nov-2025 13:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:25 UTC]    Books columns count: 45
[25-Nov-2025 13:21:25 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:25 UTC]    Language field in books: YES
[25-Nov-2025 13:21:25 UTC]    Format field in books: YES
[25-Nov-2025 13:21:25 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:25 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:25 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:25 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:26 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 13:21: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
[25-Nov-2025 13:21:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 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 13:21:26 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 13:21: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
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:26 UTC] 📊 Database Info:
[25-Nov-2025 13:21:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:26 UTC]    Books columns count: 45
[25-Nov-2025 13:21:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:26 UTC]    Language field in books: YES
[25-Nov-2025 13:21:26 UTC]    Format field in books: YES
[25-Nov-2025 13:21:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:26 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:26 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:26 UTC] 📊 Database Info:
[25-Nov-2025 13:21:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:26 UTC]    Books columns count: 45
[25-Nov-2025 13:21:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:26 UTC]    Language field in books: YES
[25-Nov-2025 13:21:26 UTC]    Format field in books: YES
[25-Nov-2025 13:21:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:26 UTC] 📊 Database Info:
[25-Nov-2025 13:21:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:26 UTC]    Books columns count: 45
[25-Nov-2025 13:21:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:26 UTC]    Language field in books: YES
[25-Nov-2025 13:21:26 UTC]    Format field in books: YES
[25-Nov-2025 13:21:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:53 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 13:21: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
[25-Nov-2025 13:21:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:53 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 13:21:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:53 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 13:21: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
[25-Nov-2025 13:21:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:53 UTC] 📊 Database Info:
[25-Nov-2025 13:21:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:53 UTC]    Books columns count: 45
[25-Nov-2025 13:21:53 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:53 UTC]    Language field in books: YES
[25-Nov-2025 13:21:53 UTC]    Format field in books: YES
[25-Nov-2025 13:21:53 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:53 UTC] 📊 Database Info:
[25-Nov-2025 13:21:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:53 UTC]    Books columns count: 45
[25-Nov-2025 13:21:53 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:53 UTC]    Language field in books: YES
[25-Nov-2025 13:21:53 UTC]    Format field in books: YES
[25-Nov-2025 13:21:53 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:53 UTC] 📊 Database Info:
[25-Nov-2025 13:21:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:53 UTC]    Books columns count: 45
[25-Nov-2025 13:21:53 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:53 UTC]    Language field in books: YES
[25-Nov-2025 13:21:53 UTC]    Format field in books: YES
[25-Nov-2025 13:21:53 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:53 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:21:53 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:21:53 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:21:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:21:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21: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
[25-Nov-2025 13:21:54 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 13:21: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
[25-Nov-2025 13:21:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:21:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:21:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:21:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:21:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:21:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:21:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:21:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:21:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:21:54 UTC] 📊 Database Info:
[25-Nov-2025 13:21:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:21:54 UTC]    Books columns count: 45
[25-Nov-2025 13:21:54 UTC]    Categories columns count: 7
[25-Nov-2025 13:21:54 UTC]    Language field in books: YES
[25-Nov-2025 13:21:54 UTC]    Format field in books: YES
[25-Nov-2025 13:21:54 UTC]    Description field in categories: YES
[25-Nov-2025 13:21:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:21:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:21:54 UTC]    Is_active field in books: YES
[25-Nov-2025 13:21:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:21:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:21:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:21:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:21:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:21:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:21:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22: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
[25-Nov-2025 13:22:17 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 13:22: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
[25-Nov-2025 13:22:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22: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
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:17 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 13:22: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
[25-Nov-2025 13:22: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
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 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 13:22: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
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:17 UTC] 📊 Database Info:
[25-Nov-2025 13:22:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:17 UTC]    Books columns count: 45
[25-Nov-2025 13:22:17 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:17 UTC]    Language field in books: YES
[25-Nov-2025 13:22:17 UTC]    Format field in books: YES
[25-Nov-2025 13:22:17 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:17 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:22:17 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:17 UTC] 📊 Database Info:
[25-Nov-2025 13:22:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:17 UTC]    Books columns count: 45
[25-Nov-2025 13:22:17 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:17 UTC]    Language field in books: YES
[25-Nov-2025 13:22:17 UTC]    Format field in books: YES
[25-Nov-2025 13:22:17 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:17 UTC] 📊 Database Info:
[25-Nov-2025 13:22:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:17 UTC]    Books columns count: 45
[25-Nov-2025 13:22:17 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:17 UTC]    Language field in books: YES
[25-Nov-2025 13:22:17 UTC]    Format field in books: YES
[25-Nov-2025 13:22:17 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:17 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:19 UTC] 📊 Database Info:
[25-Nov-2025 13:22:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:19 UTC]    Books columns count: 45
[25-Nov-2025 13:22:19 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:19 UTC]    Language field in books: YES
[25-Nov-2025 13:22:19 UTC]    Format field in books: YES
[25-Nov-2025 13:22:19 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:19 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:22:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:41 UTC] 📊 Database Info:
[25-Nov-2025 13:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:41 UTC]    Books columns count: 45
[25-Nov-2025 13:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:41 UTC]    Language field in books: YES
[25-Nov-2025 13:22:41 UTC]    Format field in books: YES
[25-Nov-2025 13:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:22:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:22:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:22:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22: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
[25-Nov-2025 13:22:43 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 13:22: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
[25-Nov-2025 13:22:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:22:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:22:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:22:43 UTC] 📊 Database Info:
[25-Nov-2025 13:22:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:22:43 UTC]    Books columns count: 45
[25-Nov-2025 13:22:43 UTC]    Categories columns count: 7
[25-Nov-2025 13:22:43 UTC]    Language field in books: YES
[25-Nov-2025 13:22:43 UTC]    Format field in books: YES
[25-Nov-2025 13:22:43 UTC]    Description field in categories: YES
[25-Nov-2025 13:22:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:22:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:22:43 UTC]    Is_active field in books: YES
[25-Nov-2025 13:22:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:22:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:22:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:22:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:22:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:23:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:23:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:23 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 13:23: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
[25-Nov-2025 13:23:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:23:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:23:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:23 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 13:23: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
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:23:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:23:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:23:23 UTC] 📊 Database Info:
[25-Nov-2025 13:23:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:23:23 UTC]    Books columns count: 45
[25-Nov-2025 13:23:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:23:23 UTC]    Language field in books: YES
[25-Nov-2025 13:23:23 UTC]    Format field in books: YES
[25-Nov-2025 13:23:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:23:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:23:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:23:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:23:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:23:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:23:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:23:23 UTC] 📊 Database Info:
[25-Nov-2025 13:23:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:23:23 UTC]    Books columns count: 45
[25-Nov-2025 13:23:23 UTC]    Categories columns count: 7
[25-Nov-2025 13:23:23 UTC]    Language field in books: YES
[25-Nov-2025 13:23:23 UTC]    Format field in books: YES
[25-Nov-2025 13:23:23 UTC]    Description field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:23:23 UTC]    Is_active field in books: YES
[25-Nov-2025 13:23:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:23:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:23:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:23:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:23:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:23:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:23:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:23:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:23:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:35 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 13:23: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
[25-Nov-2025 13:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:23:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:23:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:35 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 13:23:35 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 13:23: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
[25-Nov-2025 13:23: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
[25-Nov-2025 13:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:23:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:23:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:23:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:23:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:23:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:23:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:23:35 UTC] 📊 Database Info:
[25-Nov-2025 13:23:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:23:35 UTC]    Books columns count: 45
[25-Nov-2025 13:23:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:23:35 UTC]    Language field in books: YES
[25-Nov-2025 13:23:35 UTC]    Format field in books: YES
[25-Nov-2025 13:23:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:23:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:23:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:23:35 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 13:23:35 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:23:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:23:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:23:35 UTC] 📊 Database Info:
[25-Nov-2025 13:23:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:23:35 UTC]    Books columns count: 45
[25-Nov-2025 13:23:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:23:35 UTC]    Language field in books: YES
[25-Nov-2025 13:23:35 UTC]    Format field in books: YES
[25-Nov-2025 13:23:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:23:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:23:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:23:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:23:35 UTC] 📊 Database Info:
[25-Nov-2025 13:23:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:23:35 UTC]    Books columns count: 45
[25-Nov-2025 13:23:35 UTC]    Categories columns count: 7
[25-Nov-2025 13:23:35 UTC]    Language field in books: YES
[25-Nov-2025 13:23:35 UTC]    Format field in books: YES
[25-Nov-2025 13:23:35 UTC]    Description field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:23:35 UTC]    Is_active field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:23:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:23:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:23:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:23:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:23:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:28:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:28:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:28:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:28:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:28:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:28:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:28:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:28:44 UTC] 📊 Database Info:
[25-Nov-2025 13:28:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:28:44 UTC]    Books columns count: 45
[25-Nov-2025 13:28:44 UTC]    Categories columns count: 7
[25-Nov-2025 13:28:44 UTC]    Language field in books: YES
[25-Nov-2025 13:28:44 UTC]    Format field in books: YES
[25-Nov-2025 13:28:44 UTC]    Description field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Is_active field in books: YES
[25-Nov-2025 13:28:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:28:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:28:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:28:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:28:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:28:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:28:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:28:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:28:44 UTC] 📊 Database Info:
[25-Nov-2025 13:28:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:28:44 UTC]    Books columns count: 45
[25-Nov-2025 13:28:44 UTC]    Categories columns count: 7
[25-Nov-2025 13:28:44 UTC]    Language field in books: YES
[25-Nov-2025 13:28:44 UTC]    Format field in books: YES
[25-Nov-2025 13:28:44 UTC]    Description field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:28:44 UTC]    Is_active field in books: YES
[25-Nov-2025 13:28:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:28:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:28:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:28:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:28:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:28:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:28:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:28:44 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:28:44 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:28:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:28:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:28: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
[25-Nov-2025 13:28:45 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 13:28: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
[25-Nov-2025 13:28:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:28:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:28:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:28:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:28:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:28:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:28:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:28:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:28:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:28:45 UTC] 📊 Database Info:
[25-Nov-2025 13:28:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:28:45 UTC]    Books columns count: 45
[25-Nov-2025 13:28:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:28:45 UTC]    Language field in books: YES
[25-Nov-2025 13:28:45 UTC]    Format field in books: YES
[25-Nov-2025 13:28:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:28:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:28:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:28:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:28:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:28:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:28:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:28:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:28:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:28:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:28:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:28:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:28:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:28:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:29:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29: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
[25-Nov-2025 13:29:26 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 13:29: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
[25-Nov-2025 13:29:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29: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
[25-Nov-2025 13:29:26 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 13:29: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
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29: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
[25-Nov-2025 13:29:26 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 13:29: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
[25-Nov-2025 13:29:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:26 UTC] 📊 Database Info:
[25-Nov-2025 13:29:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:26 UTC]    Books columns count: 45
[25-Nov-2025 13:29:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:26 UTC]    Language field in books: YES
[25-Nov-2025 13:29:26 UTC]    Format field in books: YES
[25-Nov-2025 13:29:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:29:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:29:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:29:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:26 UTC] 📊 Database Info:
[25-Nov-2025 13:29:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:26 UTC]    Books columns count: 45
[25-Nov-2025 13:29:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:26 UTC]    Language field in books: YES
[25-Nov-2025 13:29:26 UTC]    Format field in books: YES
[25-Nov-2025 13:29:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:29:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:29:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:29:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:29:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:29:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:26 UTC] 📊 Database Info:
[25-Nov-2025 13:29:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:26 UTC]    Books columns count: 45
[25-Nov-2025 13:29:26 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:26 UTC]    Language field in books: YES
[25-Nov-2025 13:29:26 UTC]    Format field in books: YES
[25-Nov-2025 13:29:26 UTC]    Description field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:26 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:29:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:29:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:29:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:29:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:29:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:29:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:29:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:45 UTC] 📊 Database Info:
[25-Nov-2025 13:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:45 UTC]    Books columns count: 45
[25-Nov-2025 13:29:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:45 UTC]    Language field in books: YES
[25-Nov-2025 13:29:45 UTC]    Format field in books: YES
[25-Nov-2025 13:29:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:29:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:29:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:29:45 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:29:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:29:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:45 UTC] 📊 Database Info:
[25-Nov-2025 13:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:45 UTC]    Books columns count: 45
[25-Nov-2025 13:29:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:45 UTC]    Language field in books: YES
[25-Nov-2025 13:29:45 UTC]    Format field in books: YES
[25-Nov-2025 13:29:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:29:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:29:45 UTC] 📊 Database Info:
[25-Nov-2025 13:29:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:29:45 UTC]    Books columns count: 45
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:29:45 UTC]    Language field in books: YES
[25-Nov-2025 13:29:45 UTC]    Format field in books: YES
[25-Nov-2025 13:29:45 UTC]    Description field in categories: YES
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:29:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:29:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:29:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:29:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:29:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:29:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:30:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:30:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30: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
[25-Nov-2025 13:30:12 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 13:30: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
[25-Nov-2025 13:30:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:30:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:30:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:30:12 UTC] 📊 Database Info:
[25-Nov-2025 13:30:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:30:12 UTC]    Books columns count: 45
[25-Nov-2025 13:30:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:30:12 UTC]    Language field in books: YES
[25-Nov-2025 13:30:12 UTC]    Format field in books: YES
[25-Nov-2025 13:30:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:30:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:30:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:30:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:30:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:30:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:30:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:30:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:30:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:30:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:30:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:30:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:30:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:30:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:30:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:30:13 UTC] 📊 Database Info:
[25-Nov-2025 13:30:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:30:13 UTC]    Books columns count: 45
[25-Nov-2025 13:30:13 UTC]    Categories columns count: 7
[25-Nov-2025 13:30:13 UTC]    Language field in books: YES
[25-Nov-2025 13:30:13 UTC]    Format field in books: YES
[25-Nov-2025 13:30:13 UTC]    Description field in categories: YES
[25-Nov-2025 13:30:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:30:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:30:13 UTC]    Is_active field in books: YES
[25-Nov-2025 13:30:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:30:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:30:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:30:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:30:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:30:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:30:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:30:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30: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
[25-Nov-2025 13:30:28 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 13:30: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
[25-Nov-2025 13:30:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:30:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:30:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:30:28 UTC] 📊 Database Info:
[25-Nov-2025 13:30:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:30:28 UTC]    Books columns count: 45
[25-Nov-2025 13:30:28 UTC]    Categories columns count: 7
[25-Nov-2025 13:30:28 UTC]    Language field in books: YES
[25-Nov-2025 13:30:28 UTC]    Format field in books: YES
[25-Nov-2025 13:30:28 UTC]    Description field in categories: YES
[25-Nov-2025 13:30:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:30:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:30:28 UTC]    Is_active field in books: YES
[25-Nov-2025 13:30:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:30:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:30:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:30:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:30:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:30:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:30:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:30:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:30:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30: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
[25-Nov-2025 13:30:29 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 13:30: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
[25-Nov-2025 13:30:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:30:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:30:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:30:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:30:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:30:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:30:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:30:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:30:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:30:29 UTC] 📊 Database Info:
[25-Nov-2025 13:30:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:30:29 UTC]    Books columns count: 45
[25-Nov-2025 13:30:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:30:29 UTC]    Language field in books: YES
[25-Nov-2025 13:30:29 UTC]    Format field in books: YES
[25-Nov-2025 13:30:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:30:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:30:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:30:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:30:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:30:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:30:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:30:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:30:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:30:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:30:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:30:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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
[25-Nov-2025 13:33:08 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 13:33: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
[25-Nov-2025 13:33:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:08 UTC] 📊 Database Info:
[25-Nov-2025 13:33:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:08 UTC]    Books columns count: 45
[25-Nov-2025 13:33:08 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:08 UTC]    Language field in books: YES
[25-Nov-2025 13:33:08 UTC]    Format field in books: YES
[25-Nov-2025 13:33:08 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:08 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:08 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[25-Nov-2025 13:33:09 UTC] ✅ Global auth update completed: 7 books updated
[25-Nov-2025 13:33:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:10 UTC] 📊 Database Info:
[25-Nov-2025 13:33:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:10 UTC]    Books columns count: 45
[25-Nov-2025 13:33:10 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:10 UTC]    Language field in books: YES
[25-Nov-2025 13:33:10 UTC]    Format field in books: YES
[25-Nov-2025 13:33:10 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:10 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:20 UTC] 📊 Database Info:
[25-Nov-2025 13:33:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:20 UTC]    Books columns count: 45
[25-Nov-2025 13:33:20 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:20 UTC]    Language field in books: YES
[25-Nov-2025 13:33:20 UTC]    Format field in books: YES
[25-Nov-2025 13:33:20 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:33:20 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:20 UTC] 📊 Database Info:
[25-Nov-2025 13:33:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:20 UTC]    Books columns count: 45
[25-Nov-2025 13:33:20 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:20 UTC]    Language field in books: YES
[25-Nov-2025 13:33:20 UTC]    Format field in books: YES
[25-Nov-2025 13:33:20 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:33:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:33:20 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:33:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:20 UTC] 📊 Database Info:
[25-Nov-2025 13:33:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:20 UTC]    Books columns count: 45
[25-Nov-2025 13:33:20 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:20 UTC]    Language field in books: YES
[25-Nov-2025 13:33:20 UTC]    Format field in books: YES
[25-Nov-2025 13:33:20 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:20 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:29 UTC] 📊 Database Info:
[25-Nov-2025 13:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:29 UTC]    Books columns count: 45
[25-Nov-2025 13:33:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:29 UTC]    Language field in books: YES
[25-Nov-2025 13:33:29 UTC]    Format field in books: YES
[25-Nov-2025 13:33:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:30 UTC] 📊 Database Info:
[25-Nov-2025 13:33:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:30 UTC]    Books columns count: 45
[25-Nov-2025 13:33:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:30 UTC]    Language field in books: YES
[25-Nov-2025 13:33:30 UTC]    Format field in books: YES
[25-Nov-2025 13:33:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:30 UTC] 📊 Database Info:
[25-Nov-2025 13:33:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:30 UTC]    Books columns count: 45
[25-Nov-2025 13:33:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:30 UTC]    Language field in books: YES
[25-Nov-2025 13:33:30 UTC]    Format field in books: YES
[25-Nov-2025 13:33:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:32 UTC] 📊 Database Info:
[25-Nov-2025 13:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:32 UTC]    Books columns count: 45
[25-Nov-2025 13:33:32 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:32 UTC]    Language field in books: YES
[25-Nov-2025 13:33:32 UTC]    Format field in books: YES
[25-Nov-2025 13:33:32 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:32 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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
[25-Nov-2025 13:33:33 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 13:33: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
[25-Nov-2025 13:33:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:33 UTC] 📊 Database Info:
[25-Nov-2025 13:33:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:33 UTC]    Books columns count: 45
[25-Nov-2025 13:33:33 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:33 UTC]    Language field in books: YES
[25-Nov-2025 13:33:33 UTC]    Format field in books: YES
[25-Nov-2025 13:33:33 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:33 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:34 UTC] 📊 Database Info:
[25-Nov-2025 13:33:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:34 UTC]    Books columns count: 45
[25-Nov-2025 13:33:34 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:34 UTC]    Language field in books: YES
[25-Nov-2025 13:33:34 UTC]    Format field in books: YES
[25-Nov-2025 13:33:34 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:34 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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 13:33: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 13:33: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 13:33:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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 13:33: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 13:33: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 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33: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 13:33: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 13:33: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 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:39 UTC] 📊 Database Info:
[25-Nov-2025 13:33:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:39 UTC]    Books columns count: 45
[25-Nov-2025 13:33:39 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:39 UTC]    Language field in books: YES
[25-Nov-2025 13:33:39 UTC]    Format field in books: YES
[25-Nov-2025 13:33:39 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:39 UTC] 📊 Database Info:
[25-Nov-2025 13:33:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:39 UTC]    Books columns count: 45
[25-Nov-2025 13:33:39 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:39 UTC]    Language field in books: YES
[25-Nov-2025 13:33:39 UTC]    Format field in books: YES
[25-Nov-2025 13:33:39 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:33:39 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:33:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:39 UTC] 📊 Database Info:
[25-Nov-2025 13:33:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:39 UTC]    Books columns count: 45
[25-Nov-2025 13:33:39 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:39 UTC]    Language field in books: YES
[25-Nov-2025 13:33:39 UTC]    Format field in books: YES
[25-Nov-2025 13:33:39 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:39 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:33:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:33:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:33:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:44 UTC] 📊 Database Info:
[25-Nov-2025 13:33:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:44 UTC]    Books columns count: 45
[25-Nov-2025 13:33:44 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:44 UTC]    Language field in books: YES
[25-Nov-2025 13:33:44 UTC]    Format field in books: YES
[25-Nov-2025 13:33:44 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:44 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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
[25-Nov-2025 13:33:45 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 13:33: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
[25-Nov-2025 13:33:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:45 UTC] 📊 Database Info:
[25-Nov-2025 13:33:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:45 UTC]    Books columns count: 45
[25-Nov-2025 13:33:45 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:45 UTC]    Language field in books: YES
[25-Nov-2025 13:33:45 UTC]    Format field in books: YES
[25-Nov-2025 13:33:45 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:45 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:49 UTC] 📊 Database Info:
[25-Nov-2025 13:33:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:49 UTC]    Books columns count: 45
[25-Nov-2025 13:33:49 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:49 UTC]    Language field in books: YES
[25-Nov-2025 13:33:49 UTC]    Format field in books: YES
[25-Nov-2025 13:33:49 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:49 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:33:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:33:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:33:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33: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
[25-Nov-2025 13:33:50 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 13:33: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
[25-Nov-2025 13:33:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:33:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:33:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:33:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:33:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:33:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:33:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:33:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:33:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:33:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:33:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:33:50 UTC] 📊 Database Info:
[25-Nov-2025 13:33:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:33:50 UTC]    Books columns count: 45
[25-Nov-2025 13:33:50 UTC]    Categories columns count: 7
[25-Nov-2025 13:33:50 UTC]    Language field in books: YES
[25-Nov-2025 13:33:50 UTC]    Format field in books: YES
[25-Nov-2025 13:33:50 UTC]    Description field in categories: YES
[25-Nov-2025 13:33:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:33:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:33:50 UTC]    Is_active field in books: YES
[25-Nov-2025 13:33:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:33:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:33:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:33:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:33:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:33:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:33:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:34:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:34:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:34:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:34:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:34:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:34:14 UTC] 📊 Database Info:
[25-Nov-2025 13:34:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:34:14 UTC]    Books columns count: 45
[25-Nov-2025 13:34:14 UTC]    Categories columns count: 7
[25-Nov-2025 13:34:14 UTC]    Language field in books: YES
[25-Nov-2025 13:34:14 UTC]    Format field in books: YES
[25-Nov-2025 13:34:14 UTC]    Description field in categories: YES
[25-Nov-2025 13:34:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:34:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:34:14 UTC]    Is_active field in books: YES
[25-Nov-2025 13:34:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:34:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:34:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:34:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:34:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:34:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:34:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:34:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:34:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:34:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:34:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:34:15 UTC] 📊 Database Info:
[25-Nov-2025 13:34:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:34:15 UTC]    Books columns count: 45
[25-Nov-2025 13:34:15 UTC]    Categories columns count: 7
[25-Nov-2025 13:34:15 UTC]    Language field in books: YES
[25-Nov-2025 13:34:15 UTC]    Format field in books: YES
[25-Nov-2025 13:34:15 UTC]    Description field in categories: YES
[25-Nov-2025 13:34:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:34:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:34:15 UTC]    Is_active field in books: YES
[25-Nov-2025 13:34:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:34:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:34:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:34:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:34:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:34:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:34:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:34: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
[25-Nov-2025 13:34:31 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 13:34: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
[25-Nov-2025 13:34:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:34:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:34:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:34:31 UTC] 📊 Database Info:
[25-Nov-2025 13:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:34:31 UTC]    Books columns count: 45
[25-Nov-2025 13:34:31 UTC]    Categories columns count: 7
[25-Nov-2025 13:34:31 UTC]    Language field in books: YES
[25-Nov-2025 13:34:31 UTC]    Format field in books: YES
[25-Nov-2025 13:34:31 UTC]    Description field in categories: YES
[25-Nov-2025 13:34:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:34:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:34:31 UTC]    Is_active field in books: YES
[25-Nov-2025 13:34:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:34:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:34:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:34:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:34:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:34:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:34:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:34:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:34:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:34:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:34:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:34:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:34:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:34:32 UTC] 📊 Database Info:
[25-Nov-2025 13:34:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:34:32 UTC]    Books columns count: 45
[25-Nov-2025 13:34:32 UTC]    Categories columns count: 7
[25-Nov-2025 13:34:32 UTC]    Language field in books: YES
[25-Nov-2025 13:34:32 UTC]    Format field in books: YES
[25-Nov-2025 13:34:32 UTC]    Description field in categories: YES
[25-Nov-2025 13:34:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:34:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:34:32 UTC]    Is_active field in books: YES
[25-Nov-2025 13:34:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:34:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:34:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:34:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:34:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:34:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:34:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:38 UTC] 📊 Database Info:
[25-Nov-2025 13:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:38 UTC]    Books columns count: 45
[25-Nov-2025 13:53:38 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:38 UTC]    Language field in books: YES
[25-Nov-2025 13:53:38 UTC]    Format field in books: YES
[25-Nov-2025 13:53:38 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:38 UTC] 📊 Database Info:
[25-Nov-2025 13:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:38 UTC]    Books columns count: 45
[25-Nov-2025 13:53:38 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:38 UTC]    Language field in books: YES
[25-Nov-2025 13:53:38 UTC]    Format field in books: YES
[25-Nov-2025 13:53:38 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:53:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:38 UTC] 📊 Database Info:
[25-Nov-2025 13:53:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:38 UTC]    Books columns count: 45
[25-Nov-2025 13:53:38 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:38 UTC]    Language field in books: YES
[25-Nov-2025 13:53:38 UTC]    Format field in books: YES
[25-Nov-2025 13:53:38 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:38 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:38 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:53:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:38 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:53:38 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:53:38 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:53:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:53:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:53:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:53:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:52 UTC] 📊 Database Info:
[25-Nov-2025 13:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:52 UTC]    Books columns count: 45
[25-Nov-2025 13:53:52 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:52 UTC]    Language field in books: YES
[25-Nov-2025 13:53:52 UTC]    Format field in books: YES
[25-Nov-2025 13:53:52 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:53:52 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:52 UTC] 📊 Database Info:
[25-Nov-2025 13:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:52 UTC]    Books columns count: 45
[25-Nov-2025 13:53:52 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:52 UTC]    Language field in books: YES
[25-Nov-2025 13:53:52 UTC]    Format field in books: YES
[25-Nov-2025 13:53:52 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:53:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:53:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:53:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:53:52 UTC] 📊 Database Info:
[25-Nov-2025 13:53:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:53:52 UTC]    Books columns count: 45
[25-Nov-2025 13:53:52 UTC]    Categories columns count: 7
[25-Nov-2025 13:53:52 UTC]    Language field in books: YES
[25-Nov-2025 13:53:52 UTC]    Format field in books: YES
[25-Nov-2025 13:53:52 UTC]    Description field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:53:52 UTC]    Is_active field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:53:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:53:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:53:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:53:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:53:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:53:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:53:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:53:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:54:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:54:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54: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
[25-Nov-2025 13:54:03 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 13:54: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
[25-Nov-2025 13:54:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:54:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:54:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:54:03 UTC] 📊 Database Info:
[25-Nov-2025 13:54:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:54:03 UTC]    Books columns count: 45
[25-Nov-2025 13:54:03 UTC]    Categories columns count: 7
[25-Nov-2025 13:54:03 UTC]    Language field in books: YES
[25-Nov-2025 13:54:03 UTC]    Format field in books: YES
[25-Nov-2025 13:54:03 UTC]    Description field in categories: YES
[25-Nov-2025 13:54:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:54:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:54:03 UTC]    Is_active field in books: YES
[25-Nov-2025 13:54:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:54:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:54:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:54:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:54:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:54:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:54:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54: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 13:54: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 13:54: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 13:54:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:54:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:54:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:54:05 UTC] 📊 Database Info:
[25-Nov-2025 13:54:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:54:05 UTC]    Books columns count: 45
[25-Nov-2025 13:54:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:54:05 UTC]    Language field in books: YES
[25-Nov-2025 13:54:05 UTC]    Format field in books: YES
[25-Nov-2025 13:54:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:54:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:54:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:54:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:54:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:54:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:54:05 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}
[25-Nov-2025 13:54:05 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 13:54:05 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:54:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:54:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54: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 13:54: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 13:54: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 13:54:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:54:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:54:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:54:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:54:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:54:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:54:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:54:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:54:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:54:05 UTC] 📊 Database Info:
[25-Nov-2025 13:54:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:54:05 UTC]    Books columns count: 45
[25-Nov-2025 13:54:05 UTC]    Categories columns count: 7
[25-Nov-2025 13:54:05 UTC]    Language field in books: YES
[25-Nov-2025 13:54:05 UTC]    Format field in books: YES
[25-Nov-2025 13:54:05 UTC]    Description field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:54:05 UTC]    Is_active field in books: YES
[25-Nov-2025 13:54:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:54:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:54:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:54:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:54:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:54:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:54:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:54:05 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}
[25-Nov-2025 13:54:05 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 13:54:05 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:12 UTC] 📊 Database Info:
[25-Nov-2025 13:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:12 UTC]    Books columns count: 45
[25-Nov-2025 13:55:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:12 UTC]    Language field in books: YES
[25-Nov-2025 13:55:12 UTC]    Format field in books: YES
[25-Nov-2025 13:55:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:55:12 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:12 UTC] 📊 Database Info:
[25-Nov-2025 13:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:12 UTC]    Books columns count: 45
[25-Nov-2025 13:55:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:12 UTC]    Language field in books: YES
[25-Nov-2025 13:55:12 UTC]    Format field in books: YES
[25-Nov-2025 13:55:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:12 UTC] 📊 Database Info:
[25-Nov-2025 13:55:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:12 UTC]    Books columns count: 45
[25-Nov-2025 13:55:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:12 UTC]    Language field in books: YES
[25-Nov-2025 13:55:12 UTC]    Format field in books: YES
[25-Nov-2025 13:55:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:55:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:55:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:55:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:15 UTC] 📊 Database Info:
[25-Nov-2025 13:55:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:15 UTC]    Books columns count: 45
[25-Nov-2025 13:55:15 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:15 UTC]    Language field in books: YES
[25-Nov-2025 13:55:15 UTC]    Format field in books: YES
[25-Nov-2025 13:55:15 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:15 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:17 UTC] 📊 Database Info:
[25-Nov-2025 13:55:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:17 UTC]    Books columns count: 45
[25-Nov-2025 13:55:17 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:17 UTC]    Language field in books: YES
[25-Nov-2025 13:55:17 UTC]    Format field in books: YES
[25-Nov-2025 13:55:17 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55: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":false}
[25-Nov-2025 13:55:17 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 13:55:17 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:55:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:55:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:55:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:55:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:55:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:55:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:55:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:55:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:55:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:55:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:55:17 UTC] 📊 Database Info:
[25-Nov-2025 13:55:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:55:17 UTC]    Books columns count: 45
[25-Nov-2025 13:55:17 UTC]    Categories columns count: 7
[25-Nov-2025 13:55:17 UTC]    Language field in books: YES
[25-Nov-2025 13:55:17 UTC]    Format field in books: YES
[25-Nov-2025 13:55:17 UTC]    Description field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:55:17 UTC]    Is_active field in books: YES
[25-Nov-2025 13:55:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:55:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:55:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:55:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:55:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:55:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:55:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:55: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}
[25-Nov-2025 13:55:17 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 13:55:17 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 13:57:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:57:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:57:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:57:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:57:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:57:12 UTC] 📊 Database Info:
[25-Nov-2025 13:57:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:57:12 UTC]    Books columns count: 45
[25-Nov-2025 13:57:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:57:12 UTC]    Language field in books: YES
[25-Nov-2025 13:57:12 UTC]    Format field in books: YES
[25-Nov-2025 13:57:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:57:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:57:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:57:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:57:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:57:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:57:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:57:12 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:57:12 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:57:12 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:57:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:57:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:57:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:57:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:57:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:57:12 UTC] 📊 Database Info:
[25-Nov-2025 13:57:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:57:12 UTC]    Books columns count: 45
[25-Nov-2025 13:57:12 UTC]    Categories columns count: 7
[25-Nov-2025 13:57:12 UTC]    Language field in books: YES
[25-Nov-2025 13:57:12 UTC]    Format field in books: YES
[25-Nov-2025 13:57:12 UTC]    Description field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:57:12 UTC]    Is_active field in books: YES
[25-Nov-2025 13:57:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:57:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:57:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:57:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:57:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:57:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:57:12 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:57:12 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:57:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:57:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57: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
[25-Nov-2025 13:57:13 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 13:57: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
[25-Nov-2025 13:57:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:57:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:57:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:57:13 UTC] 📊 Database Info:
[25-Nov-2025 13:57:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:57:13 UTC]    Books columns count: 45
[25-Nov-2025 13:57:13 UTC]    Categories columns count: 7
[25-Nov-2025 13:57:13 UTC]    Language field in books: YES
[25-Nov-2025 13:57:13 UTC]    Format field in books: YES
[25-Nov-2025 13:57:13 UTC]    Description field in categories: YES
[25-Nov-2025 13:57:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:57:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:57:13 UTC]    Is_active field in books: YES
[25-Nov-2025 13:57:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:57:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:57:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:57:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:57:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:57:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:57:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57: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
[25-Nov-2025 13:57:29 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 13:57: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
[25-Nov-2025 13:57:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:57:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:57:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:57:29 UTC] 📊 Database Info:
[25-Nov-2025 13:57:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:57:29 UTC]    Books columns count: 45
[25-Nov-2025 13:57:29 UTC]    Categories columns count: 7
[25-Nov-2025 13:57:29 UTC]    Language field in books: YES
[25-Nov-2025 13:57:29 UTC]    Format field in books: YES
[25-Nov-2025 13:57:29 UTC]    Description field in categories: YES
[25-Nov-2025 13:57:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:57:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:57:29 UTC]    Is_active field in books: YES
[25-Nov-2025 13:57:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:57:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:57:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:57:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:57:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:57:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:57:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57: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
[25-Nov-2025 13:57:30 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 13:57: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
[25-Nov-2025 13:57:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:57:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:57:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:57:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:57:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:57:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:57:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:57:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:57:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:57:30 UTC] 📊 Database Info:
[25-Nov-2025 13:57:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:57:30 UTC]    Books columns count: 45
[25-Nov-2025 13:57:30 UTC]    Categories columns count: 7
[25-Nov-2025 13:57:30 UTC]    Language field in books: YES
[25-Nov-2025 13:57:30 UTC]    Format field in books: YES
[25-Nov-2025 13:57:30 UTC]    Description field in categories: YES
[25-Nov-2025 13:57:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:57:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:57:30 UTC]    Is_active field in books: YES
[25-Nov-2025 13:57:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:57:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:57:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:57:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:57:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:57:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:57:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:58:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:58:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:58:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:58:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:58:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:58:42 UTC] 📊 Database Info:
[25-Nov-2025 13:58:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:58:42 UTC]    Books columns count: 45
[25-Nov-2025 13:58:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:58:42 UTC]    Language field in books: YES
[25-Nov-2025 13:58:42 UTC]    Format field in books: YES
[25-Nov-2025 13:58:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:58:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:58:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:58:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:58:42 UTC] 📊 Database Info:
[25-Nov-2025 13:58:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:58:42 UTC]    Books columns count: 45
[25-Nov-2025 13:58:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:58:42 UTC]    Language field in books: YES
[25-Nov-2025 13:58:42 UTC]    Format field in books: YES
[25-Nov-2025 13:58:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:58:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:58:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:58:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 13:58:42 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 13:58:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:58:42 UTC] 📊 Database Info:
[25-Nov-2025 13:58:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:58:42 UTC]    Books columns count: 45
[25-Nov-2025 13:58:42 UTC]    Categories columns count: 7
[25-Nov-2025 13:58:42 UTC]    Language field in books: YES
[25-Nov-2025 13:58:42 UTC]    Format field in books: YES
[25-Nov-2025 13:58:42 UTC]    Description field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:58:42 UTC]    Is_active field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:58:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:58:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:58:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13: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
[25-Nov-2025 13:58:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:58:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 13:58:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 13:58:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 13:58:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:58:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58: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
[25-Nov-2025 13:58:47 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 13:58: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
[25-Nov-2025 13:58:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:58:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:58:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:58:47 UTC] 📊 Database Info:
[25-Nov-2025 13:58:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:58:47 UTC]    Books columns count: 45
[25-Nov-2025 13:58:47 UTC]    Categories columns count: 7
[25-Nov-2025 13:58:47 UTC]    Language field in books: YES
[25-Nov-2025 13:58:47 UTC]    Format field in books: YES
[25-Nov-2025 13:58:47 UTC]    Description field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Is_active field in books: YES
[25-Nov-2025 13:58:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:58:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:58:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:58:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:58:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:58:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 13:58:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 13:58:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58: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
[25-Nov-2025 13:58:47 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 13:58: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
[25-Nov-2025 13:58:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 13:58:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 13:58:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 13:58:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 13:58:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 13:58:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 13:58:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 13:58:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 13:58:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 13:58:47 UTC] 📊 Database Info:
[25-Nov-2025 13:58:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 13:58:47 UTC]    Books columns count: 45
[25-Nov-2025 13:58:47 UTC]    Categories columns count: 7
[25-Nov-2025 13:58:47 UTC]    Language field in books: YES
[25-Nov-2025 13:58:47 UTC]    Format field in books: YES
[25-Nov-2025 13:58:47 UTC]    Description field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 13:58:47 UTC]    Is_active field in books: YES
[25-Nov-2025 13:58:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 13:58:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 13:58:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 13:58:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 13:58:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:58:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 13:58:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 13:58:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:00:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:00:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:00:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:00:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:00:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:00:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:00:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:00:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:00:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:00:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:00:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:00:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:00:43 UTC] 📊 Database Info:
[25-Nov-2025 14:00:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:00:43 UTC]    Books columns count: 45
[25-Nov-2025 14:00:43 UTC]    Categories columns count: 7
[25-Nov-2025 14:00:43 UTC]    Language field in books: YES
[25-Nov-2025 14:00:43 UTC]    Format field in books: YES
[25-Nov-2025 14:00:43 UTC]    Description field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:00:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:00:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:00:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:00:43 UTC] 📊 Database Info:
[25-Nov-2025 14:00:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:00:43 UTC]    Books columns count: 45
[25-Nov-2025 14:00:43 UTC]    Categories columns count: 7
[25-Nov-2025 14:00:43 UTC]    Language field in books: YES
[25-Nov-2025 14:00:43 UTC]    Format field in books: YES
[25-Nov-2025 14:00:43 UTC]    Description field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:00:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:00:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:00:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:00:43 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:00:43 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:00:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:00:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:00:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:00:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:00:43 UTC] 📊 Database Info:
[25-Nov-2025 14:00:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:00:43 UTC]    Books columns count: 45
[25-Nov-2025 14:00:43 UTC]    Categories columns count: 7
[25-Nov-2025 14:00:43 UTC]    Language field in books: YES
[25-Nov-2025 14:00:43 UTC]    Format field in books: YES
[25-Nov-2025 14:00:43 UTC]    Description field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:00:43 UTC]    Is_active field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:00:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:00:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:00:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:00:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:00:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:00:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:00:43 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:00:43 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:01:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:01:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:01:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:01:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:01: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
[25-Nov-2025 14:01:50 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 14:01: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
[25-Nov-2025 14:01:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:01:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:01:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:01:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:01:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:01:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:01:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:01:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:01:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:01:50 UTC] 📊 Database Info:
[25-Nov-2025 14:01:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:01:50 UTC]    Books columns count: 45
[25-Nov-2025 14:01:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:01:50 UTC]    Language field in books: YES
[25-Nov-2025 14:01:50 UTC]    Format field in books: YES
[25-Nov-2025 14:01:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:01:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:01:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:01:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:01:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:01:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:01:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:01:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:01:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:01:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:01:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:01:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:01:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:01:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:01:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:01:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:01:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:01:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:01:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:01:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:01:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:01:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:01:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:01:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:01:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:01:51 UTC] 📊 Database Info:
[25-Nov-2025 14:01:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:01:51 UTC]    Books columns count: 45
[25-Nov-2025 14:01:51 UTC]    Categories columns count: 7
[25-Nov-2025 14:01:51 UTC]    Language field in books: YES
[25-Nov-2025 14:01:51 UTC]    Format field in books: YES
[25-Nov-2025 14:01:51 UTC]    Description field in categories: YES
[25-Nov-2025 14:01:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:01:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:01:51 UTC]    Is_active field in books: YES
[25-Nov-2025 14:01:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:01:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:01:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:01:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:01:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:01:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:01:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 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 14:02: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
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 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 14:02: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
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 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 14:02: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
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 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 14:02: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
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 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 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 14:02:36 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 14:02:36 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:36 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 14:02: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
[25-Nov-2025 14:02:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:36 UTC] 📊 Database Info:
[25-Nov-2025 14:02:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:36 UTC]    Books columns count: 45
[25-Nov-2025 14:02:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:36 UTC]    Language field in books: YES
[25-Nov-2025 14:02:36 UTC]    Format field in books: YES
[25-Nov-2025 14:02:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:02:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:39 UTC] 📊 Database Info:
[25-Nov-2025 14:02:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:39 UTC]    Books columns count: 45
[25-Nov-2025 14:02:39 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:39 UTC]    Language field in books: YES
[25-Nov-2025 14:02:39 UTC]    Format field in books: YES
[25-Nov-2025 14:02:39 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:39 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:02:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:02:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02: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
[25-Nov-2025 14:02:45 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 14:02: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
[25-Nov-2025 14:02:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:02:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:02:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:02:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:02:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:02:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:02:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:02:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:02:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:02:45 UTC] 📊 Database Info:
[25-Nov-2025 14:02:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:02:45 UTC]    Books columns count: 45
[25-Nov-2025 14:02:45 UTC]    Categories columns count: 7
[25-Nov-2025 14:02:45 UTC]    Language field in books: YES
[25-Nov-2025 14:02:45 UTC]    Format field in books: YES
[25-Nov-2025 14:02:45 UTC]    Description field in categories: YES
[25-Nov-2025 14:02:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:02:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:02:45 UTC]    Is_active field in books: YES
[25-Nov-2025 14:02:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:02:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:02:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:02:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:02:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:02:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:02:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:04 UTC] PHP Parse error:  Unclosed '{' on line 1537 in /home/admin/public_html/acadlib.com/app-panel/api/books.php on line 1571
[25-Nov-2025 14:09:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:09:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:09:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09: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
[25-Nov-2025 14:09: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
[25-Nov-2025 14:09:04 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 14:09: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
[25-Nov-2025 14:09:04 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 14:09: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
[25-Nov-2025 14:09:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:09:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:09:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:09:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:09:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:09:04 UTC] 📊 Database Info:
[25-Nov-2025 14:09:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:09:04 UTC]    Books columns count: 45
[25-Nov-2025 14:09:04 UTC]    Categories columns count: 7
[25-Nov-2025 14:09:04 UTC]    Language field in books: YES
[25-Nov-2025 14:09:04 UTC]    Format field in books: YES
[25-Nov-2025 14:09:04 UTC]    Description field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Is_active field in books: YES
[25-Nov-2025 14:09:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:09:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:09:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:09:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:09:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:09:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:09:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:09:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:09:04 UTC] 📊 Database Info:
[25-Nov-2025 14:09:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:09:04 UTC]    Books columns count: 45
[25-Nov-2025 14:09:04 UTC]    Categories columns count: 7
[25-Nov-2025 14:09:04 UTC]    Language field in books: YES
[25-Nov-2025 14:09:04 UTC]    Format field in books: YES
[25-Nov-2025 14:09:04 UTC]    Description field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:09:04 UTC]    Is_active field in books: YES
[25-Nov-2025 14:09:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:09:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:09:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:09:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:09:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:09:04 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:09:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09: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
[25-Nov-2025 14:09:49 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 14:09: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
[25-Nov-2025 14:09:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:09:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09: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
[25-Nov-2025 14:09:49 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 14:09: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
[25-Nov-2025 14:09:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:09:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09: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
[25-Nov-2025 14:09:49 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 14:09: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
[25-Nov-2025 14:09:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:09:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:09:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:09:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:09:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:09:49 UTC] 📊 Database Info:
[25-Nov-2025 14:09:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:09:49 UTC]    Books columns count: 45
[25-Nov-2025 14:09:49 UTC]    Categories columns count: 7
[25-Nov-2025 14:09:49 UTC]    Language field in books: YES
[25-Nov-2025 14:09:49 UTC]    Format field in books: YES
[25-Nov-2025 14:09:49 UTC]    Description field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:09:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:09:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:09:49 UTC] 📊 Database Info:
[25-Nov-2025 14:09:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:09:49 UTC]    Books columns count: 45
[25-Nov-2025 14:09:49 UTC]    Categories columns count: 7
[25-Nov-2025 14:09:49 UTC]    Language field in books: YES
[25-Nov-2025 14:09:49 UTC]    Format field in books: YES
[25-Nov-2025 14:09:49 UTC]    Description field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:09:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:09:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:09:49 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:09:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:09:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:09:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:09:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:09:49 UTC] 📊 Database Info:
[25-Nov-2025 14:09:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:09:49 UTC]    Books columns count: 45
[25-Nov-2025 14:09:49 UTC]    Categories columns count: 7
[25-Nov-2025 14:09:49 UTC]    Language field in books: YES
[25-Nov-2025 14:09:49 UTC]    Format field in books: YES
[25-Nov-2025 14:09:49 UTC]    Description field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:09:49 UTC]    Is_active field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:09:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:09:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:09:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:09:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:09:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:09:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:09:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:09:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:11:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:11:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11: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
[25-Nov-2025 14:11:26 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 14:11: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
[25-Nov-2025 14:11:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:11:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11: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
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11: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
[25-Nov-2025 14:11:26 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 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 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 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11: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
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:11: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
[25-Nov-2025 14:11:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:11:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:11:26 UTC] 📊 Database Info:
[25-Nov-2025 14:11:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:11:26 UTC]    Books columns count: 45
[25-Nov-2025 14:11:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:11:26 UTC]    Language field in books: YES
[25-Nov-2025 14:11:26 UTC]    Format field in books: YES
[25-Nov-2025 14:11:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:11:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:11:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:11:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:11:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:11:26 UTC] 📊 Database Info:
[25-Nov-2025 14:11:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:11:26 UTC]    Books columns count: 45
[25-Nov-2025 14:11:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:11:26 UTC]    Language field in books: YES
[25-Nov-2025 14:11:26 UTC]    Format field in books: YES
[25-Nov-2025 14:11:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:11:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:11:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:11:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:11:26 UTC] 📊 Database Info:
[25-Nov-2025 14:11:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:11:26 UTC]    Books columns count: 45
[25-Nov-2025 14:11:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:11:26 UTC]    Language field in books: YES
[25-Nov-2025 14:11:26 UTC]    Format field in books: YES
[25-Nov-2025 14:11:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:11:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:11:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:11:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:11:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:11:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:11:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:11:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:11:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:11:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:11:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:11:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:11:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:11:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:11:37 UTC] 📊 Database Info:
[25-Nov-2025 14:11:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:11:37 UTC]    Books columns count: 45
[25-Nov-2025 14:11:37 UTC]    Categories columns count: 7
[25-Nov-2025 14:11:37 UTC]    Language field in books: YES
[25-Nov-2025 14:11:37 UTC]    Format field in books: YES
[25-Nov-2025 14:11:37 UTC]    Description field in categories: YES
[25-Nov-2025 14:11:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:11:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:11:37 UTC]    Is_active field in books: YES
[25-Nov-2025 14:11:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:11:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:11:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:11:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:11:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:11:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:11:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:11:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:11:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:11:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:11:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:11:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:11:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:11:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:11:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:11:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:11:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:11:38 UTC] 📊 Database Info:
[25-Nov-2025 14:11:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:11:38 UTC]    Books columns count: 45
[25-Nov-2025 14:11:38 UTC]    Categories columns count: 7
[25-Nov-2025 14:11:38 UTC]    Language field in books: YES
[25-Nov-2025 14:11:38 UTC]    Format field in books: YES
[25-Nov-2025 14:11:38 UTC]    Description field in categories: YES
[25-Nov-2025 14:11:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:11:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:11:38 UTC]    Is_active field in books: YES
[25-Nov-2025 14:11:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:11:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:11:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:11:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:11:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:11:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:11:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12: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
[25-Nov-2025 14:12:11 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 14:12: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
[25-Nov-2025 14:12:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:11 UTC] 📊 Database Info:
[25-Nov-2025 14:12:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:11 UTC]    Books columns count: 45
[25-Nov-2025 14:12:11 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:11 UTC]    Language field in books: YES
[25-Nov-2025 14:12:11 UTC]    Format field in books: YES
[25-Nov-2025 14:12:11 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:11 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:12 UTC] 📊 Database Info:
[25-Nov-2025 14:12:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:12 UTC]    Books columns count: 45
[25-Nov-2025 14:12:12 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:12 UTC]    Language field in books: YES
[25-Nov-2025 14:12:12 UTC]    Format field in books: YES
[25-Nov-2025 14:12:12 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:12 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12: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
[25-Nov-2025 14:12:22 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 14:12: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
[25-Nov-2025 14:12:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12: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
[25-Nov-2025 14:12:22 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 14:12: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
[25-Nov-2025 14:12:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:22 UTC] 📊 Database Info:
[25-Nov-2025 14:12:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:22 UTC]    Books columns count: 45
[25-Nov-2025 14:12:22 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:22 UTC]    Language field in books: YES
[25-Nov-2025 14:12:22 UTC]    Format field in books: YES
[25-Nov-2025 14:12:22 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:22 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 14:12:22 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 14:12:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:22 UTC] 📊 Database Info:
[25-Nov-2025 14:12:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:22 UTC]    Books columns count: 45
[25-Nov-2025 14:12:22 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:22 UTC]    Language field in books: YES
[25-Nov-2025 14:12:22 UTC]    Format field in books: YES
[25-Nov-2025 14:12:22 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:22 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:23 UTC] 📊 Database Info:
[25-Nov-2025 14:12:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:23 UTC]    Books columns count: 45
[25-Nov-2025 14:12:23 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:23 UTC]    Language field in books: YES
[25-Nov-2025 14:12:23 UTC]    Format field in books: YES
[25-Nov-2025 14:12:23 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:23 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:28 UTC] 📊 Database Info:
[25-Nov-2025 14:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:28 UTC]    Books columns count: 45
[25-Nov-2025 14:12:28 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:28 UTC]    Language field in books: YES
[25-Nov-2025 14:12:28 UTC]    Format field in books: YES
[25-Nov-2025 14:12:28 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:28 UTC] 📊 Database Info:
[25-Nov-2025 14:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:28 UTC]    Books columns count: 45
[25-Nov-2025 14:12:28 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:28 UTC]    Language field in books: YES
[25-Nov-2025 14:12:28 UTC]    Format field in books: YES
[25-Nov-2025 14:12:28 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:12:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:12:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:12:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:28 UTC] 📊 Database Info:
[25-Nov-2025 14:12:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:28 UTC]    Books columns count: 45
[25-Nov-2025 14:12:28 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:28 UTC]    Language field in books: YES
[25-Nov-2025 14:12:28 UTC]    Format field in books: YES
[25-Nov-2025 14:12:28 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:28 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:12:28 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:12:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12: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
[25-Nov-2025 14:12:34 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 14:12: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
[25-Nov-2025 14:12:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:34 UTC] 📊 Database Info:
[25-Nov-2025 14:12:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:34 UTC]    Books columns count: 45
[25-Nov-2025 14:12:34 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:34 UTC]    Language field in books: YES
[25-Nov-2025 14:12:34 UTC]    Format field in books: YES
[25-Nov-2025 14:12:34 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:34 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:12:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:12:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:12:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:12:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:12:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:12:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:12:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:12:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:12:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:12:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:12:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:12:35 UTC] 📊 Database Info:
[25-Nov-2025 14:12:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:12:35 UTC]    Books columns count: 45
[25-Nov-2025 14:12:35 UTC]    Categories columns count: 7
[25-Nov-2025 14:12:35 UTC]    Language field in books: YES
[25-Nov-2025 14:12:35 UTC]    Format field in books: YES
[25-Nov-2025 14:12:35 UTC]    Description field in categories: YES
[25-Nov-2025 14:12:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:12:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:12:35 UTC]    Is_active field in books: YES
[25-Nov-2025 14:12:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:12:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:12:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:12:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:12:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:12:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:12:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:15:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:15:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:15:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:15:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:15:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:15:50 UTC] 📊 Database Info:
[25-Nov-2025 14:15:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:15:50 UTC]    Books columns count: 45
[25-Nov-2025 14:15:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:15:50 UTC]    Language field in books: YES
[25-Nov-2025 14:15:50 UTC]    Format field in books: YES
[25-Nov-2025 14:15:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:15:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:15:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:15:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:15:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:15:50 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:15:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:15:50 UTC] 📊 Database Info:
[25-Nov-2025 14:15:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:15:50 UTC]    Books columns count: 45
[25-Nov-2025 14:15:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:15:50 UTC]    Language field in books: YES
[25-Nov-2025 14:15:50 UTC]    Format field in books: YES
[25-Nov-2025 14:15:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:15:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:15:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:15:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:15:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:15:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:15:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:15:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:15:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:15:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:15:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:15:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:15:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:15:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:15:50 UTC] 📊 Database Info:
[25-Nov-2025 14:15:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:15:50 UTC]    Books columns count: 45
[25-Nov-2025 14:15:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:15:50 UTC]    Language field in books: YES
[25-Nov-2025 14:15:50 UTC]    Format field in books: YES
[25-Nov-2025 14:15:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:15:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:15:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:15:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:15:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:15:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:15:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:15:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:15:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:15:50 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:16:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:16:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:16:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:16:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:16:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:16:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:16:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:16:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:16:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:16:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:16:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:16:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:16:05 UTC] 📊 Database Info:
[25-Nov-2025 14:16:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:16:05 UTC]    Books columns count: 45
[25-Nov-2025 14:16:05 UTC]    Categories columns count: 7
[25-Nov-2025 14:16:05 UTC]    Language field in books: YES
[25-Nov-2025 14:16:05 UTC]    Format field in books: YES
[25-Nov-2025 14:16:05 UTC]    Description field in categories: YES
[25-Nov-2025 14:16:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:16:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:16:05 UTC]    Is_active field in books: YES
[25-Nov-2025 14:16:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:16:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:16:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:16:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:16:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:16:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:16:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:16:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:16:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:16:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:16:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:16: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
[25-Nov-2025 14:16:06 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 14:16: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
[25-Nov-2025 14:16:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:16:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:16:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:16:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:16:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:16:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:16:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:16:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:16:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:16:06 UTC] 📊 Database Info:
[25-Nov-2025 14:16:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:16:06 UTC]    Books columns count: 45
[25-Nov-2025 14:16:06 UTC]    Categories columns count: 7
[25-Nov-2025 14:16:06 UTC]    Language field in books: YES
[25-Nov-2025 14:16:06 UTC]    Format field in books: YES
[25-Nov-2025 14:16:06 UTC]    Description field in categories: YES
[25-Nov-2025 14:16:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:16:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:16:06 UTC]    Is_active field in books: YES
[25-Nov-2025 14:16:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:16:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:16:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:16:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:16:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:16:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:16:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:16:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:26 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 14:24: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
[25-Nov-2025 14:24:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:26 UTC] 📊 Database Info:
[25-Nov-2025 14:24:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:26 UTC]    Books columns count: 45
[25-Nov-2025 14:24:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:26 UTC]    Language field in books: YES
[25-Nov-2025 14:24:26 UTC]    Format field in books: YES
[25-Nov-2025 14:24:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:24:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:24:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:26 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 14:24: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
[25-Nov-2025 14:24:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:26 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 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:26 UTC] 📊 Database Info:
[25-Nov-2025 14:24:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:26 UTC]    Books columns count: 45
[25-Nov-2025 14:24:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:26 UTC]    Language field in books: YES
[25-Nov-2025 14:24:26 UTC]    Format field in books: YES
[25-Nov-2025 14:24:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:24:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:24:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:24:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:26 UTC] 📊 Database Info:
[25-Nov-2025 14:24:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:26 UTC]    Books columns count: 45
[25-Nov-2025 14:24:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:26 UTC]    Language field in books: YES
[25-Nov-2025 14:24:26 UTC]    Format field in books: YES
[25-Nov-2025 14:24:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:30 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 14:24: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
[25-Nov-2025 14:24:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:30 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 14:24: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
[25-Nov-2025 14:24:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:30 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 14:24: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
[25-Nov-2025 14:24:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:30 UTC] 📊 Database Info:
[25-Nov-2025 14:24:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:30 UTC]    Books columns count: 45
[25-Nov-2025 14:24:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:30 UTC]    Language field in books: YES
[25-Nov-2025 14:24:30 UTC]    Format field in books: YES
[25-Nov-2025 14:24:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:24:30 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:30 UTC] 📊 Database Info:
[25-Nov-2025 14:24:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:30 UTC]    Books columns count: 45
[25-Nov-2025 14:24:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:30 UTC]    Language field in books: YES
[25-Nov-2025 14:24:30 UTC]    Format field in books: YES
[25-Nov-2025 14:24:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:24:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:24:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:24:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:30 UTC] 📊 Database Info:
[25-Nov-2025 14:24:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:30 UTC]    Books columns count: 45
[25-Nov-2025 14:24:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:30 UTC]    Language field in books: YES
[25-Nov-2025 14:24:30 UTC]    Format field in books: YES
[25-Nov-2025 14:24:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:47 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 14:24: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
[25-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:47 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 14:24: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
[25-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:47 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 14:24: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
[25-Nov-2025 14:24:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:47 UTC] 📊 Database Info:
[25-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:47 UTC]    Books columns count: 45
[25-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:47 UTC]    Language field in books: YES
[25-Nov-2025 14:24:47 UTC]    Format field in books: YES
[25-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:24:47 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:47 UTC] 📊 Database Info:
[25-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:47 UTC]    Books columns count: 45
[25-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:47 UTC]    Language field in books: YES
[25-Nov-2025 14:24:47 UTC]    Format field in books: YES
[25-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:47 UTC] 📊 Database Info:
[25-Nov-2025 14:24:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:47 UTC]    Books columns count: 45
[25-Nov-2025 14:24:47 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:47 UTC]    Language field in books: YES
[25-Nov-2025 14:24:47 UTC]    Format field in books: YES
[25-Nov-2025 14:24:47 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:47 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:24:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:24:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:24:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24: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
[25-Nov-2025 14:24:52 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 14:24: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
[25-Nov-2025 14:24:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:52 UTC] 📊 Database Info:
[25-Nov-2025 14:24:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:52 UTC]    Books columns count: 45
[25-Nov-2025 14:24:52 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:52 UTC]    Language field in books: YES
[25-Nov-2025 14:24:52 UTC]    Format field in books: YES
[25-Nov-2025 14:24:52 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:52 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:24:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:24:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:24:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:24:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:24:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:24:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:24:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:24:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:24:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:24:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:24:53 UTC] 📊 Database Info:
[25-Nov-2025 14:24:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:24:53 UTC]    Books columns count: 45
[25-Nov-2025 14:24:53 UTC]    Categories columns count: 7
[25-Nov-2025 14:24:53 UTC]    Language field in books: YES
[25-Nov-2025 14:24:53 UTC]    Format field in books: YES
[25-Nov-2025 14:24:53 UTC]    Description field in categories: YES
[25-Nov-2025 14:24:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:24:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:24:53 UTC]    Is_active field in books: YES
[25-Nov-2025 14:24:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:24:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:24:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:24:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:24:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:24:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:24:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:25:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:08 UTC] 📊 Database Info:
[25-Nov-2025 14:25:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:08 UTC]    Books columns count: 45
[25-Nov-2025 14:25:08 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:08 UTC]    Language field in books: YES
[25-Nov-2025 14:25:08 UTC]    Format field in books: YES
[25-Nov-2025 14:25:08 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:08 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:25:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:09 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 14:25: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
[25-Nov-2025 14:25:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:09 UTC] 📊 Database Info:
[25-Nov-2025 14:25:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:09 UTC]    Books columns count: 45
[25-Nov-2025 14:25:09 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:09 UTC]    Language field in books: YES
[25-Nov-2025 14:25:09 UTC]    Format field in books: YES
[25-Nov-2025 14:25:09 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:09 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:25 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 14:25: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
[25-Nov-2025 14:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:25 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 14:25: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
[25-Nov-2025 14:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:25 UTC] 📊 Database Info:
[25-Nov-2025 14:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:25 UTC]    Books columns count: 45
[25-Nov-2025 14:25:25 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:25 UTC]    Language field in books: YES
[25-Nov-2025 14:25:25 UTC]    Format field in books: YES
[25-Nov-2025 14:25:25 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:25 UTC] 📊 Database Info:
[25-Nov-2025 14:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:25 UTC]    Books columns count: 45
[25-Nov-2025 14:25:25 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:25 UTC]    Language field in books: YES
[25-Nov-2025 14:25:25 UTC]    Format field in books: YES
[25-Nov-2025 14:25:25 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:25 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:26 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 14:25: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
[25-Nov-2025 14:25:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:26 UTC] 📊 Database Info:
[25-Nov-2025 14:25:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:26 UTC]    Books columns count: 45
[25-Nov-2025 14:25:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:26 UTC]    Language field in books: YES
[25-Nov-2025 14:25:26 UTC]    Format field in books: YES
[25-Nov-2025 14:25:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:26 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 14:25:26 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 14:25:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:26 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 14:25: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
[25-Nov-2025 14:25:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:26 UTC] 📊 Database Info:
[25-Nov-2025 14:25:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:26 UTC]    Books columns count: 45
[25-Nov-2025 14:25:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:26 UTC]    Language field in books: YES
[25-Nov-2025 14:25:26 UTC]    Format field in books: YES
[25-Nov-2025 14:25:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:25:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:31 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 14:25: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
[25-Nov-2025 14:25:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25: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
[25-Nov-2025 14:25:31 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 14:25: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
[25-Nov-2025 14:25:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:25:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:25:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:25:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:25:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:25:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:31 UTC] 📊 Database Info:
[25-Nov-2025 14:25:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:31 UTC]    Books columns count: 45
[25-Nov-2025 14:25:31 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:31 UTC]    Language field in books: YES
[25-Nov-2025 14:25:31 UTC]    Format field in books: YES
[25-Nov-2025 14:25:31 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:25:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:25:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:25:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:25:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:25:31 UTC] 📊 Database Info:
[25-Nov-2025 14:25:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:25:31 UTC]    Books columns count: 45
[25-Nov-2025 14:25:31 UTC]    Categories columns count: 7
[25-Nov-2025 14:25:31 UTC]    Language field in books: YES
[25-Nov-2025 14:25:31 UTC]    Format field in books: YES
[25-Nov-2025 14:25:31 UTC]    Description field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:25:31 UTC]    Is_active field in books: YES
[25-Nov-2025 14:25:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:25:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:25:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:25:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:25:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:25:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:25:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:30 UTC] 📊 Database Info:
[25-Nov-2025 14:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:30 UTC]    Books columns count: 45
[25-Nov-2025 14:42:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:30 UTC]    Language field in books: YES
[25-Nov-2025 14:42:30 UTC]    Format field in books: YES
[25-Nov-2025 14:42:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:42:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:42:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:30 UTC] 📊 Database Info:
[25-Nov-2025 14:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:30 UTC]    Books columns count: 45
[25-Nov-2025 14:42:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:30 UTC]    Language field in books: YES
[25-Nov-2025 14:42:30 UTC]    Format field in books: YES
[25-Nov-2025 14:42:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:30 UTC] 📊 Database Info:
[25-Nov-2025 14:42:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:30 UTC]    Books columns count: 45
[25-Nov-2025 14:42:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:30 UTC]    Language field in books: YES
[25-Nov-2025 14:42:30 UTC]    Format field in books: YES
[25-Nov-2025 14:42:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:42:30 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:42:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42: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
[25-Nov-2025 14:42:36 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 14:42: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
[25-Nov-2025 14:42:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:36 UTC] 📊 Database Info:
[25-Nov-2025 14:42:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:36 UTC]    Books columns count: 45
[25-Nov-2025 14:42:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:36 UTC]    Language field in books: YES
[25-Nov-2025 14:42:36 UTC]    Format field in books: YES
[25-Nov-2025 14:42:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42: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
[25-Nov-2025 14:42:36 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 14:42: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
[25-Nov-2025 14:42:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:36 UTC] 📊 Database Info:
[25-Nov-2025 14:42:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:36 UTC]    Books columns count: 45
[25-Nov-2025 14:42:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:36 UTC]    Language field in books: YES
[25-Nov-2025 14:42:36 UTC]    Format field in books: YES
[25-Nov-2025 14:42:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:50 UTC] 📊 Database Info:
[25-Nov-2025 14:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:50 UTC]    Books columns count: 45
[25-Nov-2025 14:42:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:50 UTC]    Language field in books: YES
[25-Nov-2025 14:42:50 UTC]    Format field in books: YES
[25-Nov-2025 14:42:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:50 UTC] 📊 Database Info:
[25-Nov-2025 14:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:50 UTC]    Books columns count: 45
[25-Nov-2025 14:42:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:50 UTC]    Language field in books: YES
[25-Nov-2025 14:42:50 UTC]    Format field in books: YES
[25-Nov-2025 14:42:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42: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
[25-Nov-2025 14:42:57 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 14:42: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
[25-Nov-2025 14:42:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:57 UTC] 📊 Database Info:
[25-Nov-2025 14:42:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:57 UTC]    Books columns count: 45
[25-Nov-2025 14:42:57 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:57 UTC]    Language field in books: YES
[25-Nov-2025 14:42:57 UTC]    Format field in books: YES
[25-Nov-2025 14:42:57 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:42:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:42:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42: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
[25-Nov-2025 14:42:57 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 14:42: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
[25-Nov-2025 14:42:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:42:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:42:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:42:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:42:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:42:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:42:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:42:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:42:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:42:57 UTC] 📊 Database Info:
[25-Nov-2025 14:42:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:42:57 UTC]    Books columns count: 45
[25-Nov-2025 14:42:57 UTC]    Categories columns count: 7
[25-Nov-2025 14:42:57 UTC]    Language field in books: YES
[25-Nov-2025 14:42:57 UTC]    Format field in books: YES
[25-Nov-2025 14:42:57 UTC]    Description field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:42:57 UTC]    Is_active field in books: YES
[25-Nov-2025 14:42:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:42:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:42:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:42:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:42:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:42:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:42:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14:43:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:17 UTC] 📊 Database Info:
[25-Nov-2025 14:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:17 UTC]    Books columns count: 45
[25-Nov-2025 14:43:17 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:17 UTC]    Language field in books: YES
[25-Nov-2025 14:43:17 UTC]    Format field in books: YES
[25-Nov-2025 14:43:17 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:17 UTC] 📊 Database Info:
[25-Nov-2025 14:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:17 UTC]    Books columns count: 45
[25-Nov-2025 14:43:17 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:17 UTC]    Language field in books: YES
[25-Nov-2025 14:43:17 UTC]    Format field in books: YES
[25-Nov-2025 14:43:17 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:17 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:43:17 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:43:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:17 UTC] 📊 Database Info:
[25-Nov-2025 14:43:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:17 UTC]    Books columns count: 45
[25-Nov-2025 14:43:17 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:17 UTC]    Language field in books: YES
[25-Nov-2025 14:43:17 UTC]    Format field in books: YES
[25-Nov-2025 14:43:17 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:17 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:17 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:43:17 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:43:17 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:43:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43: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
[25-Nov-2025 14:43:35 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 14:43: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
[25-Nov-2025 14:43:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:35 UTC] 📊 Database Info:
[25-Nov-2025 14:43:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:35 UTC]    Books columns count: 45
[25-Nov-2025 14:43:35 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:35 UTC]    Language field in books: YES
[25-Nov-2025 14:43:35 UTC]    Format field in books: YES
[25-Nov-2025 14:43:35 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:35 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:43:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:43:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43: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
[25-Nov-2025 14:43:36 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 14:43: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
[25-Nov-2025 14:43:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:36 UTC] 📊 Database Info:
[25-Nov-2025 14:43:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:36 UTC]    Books columns count: 45
[25-Nov-2025 14:43:36 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:36 UTC]    Language field in books: YES
[25-Nov-2025 14:43:36 UTC]    Format field in books: YES
[25-Nov-2025 14:43:36 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:36 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:43:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:43:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:43:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:43:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:43:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:58 UTC] 📊 Database Info:
[25-Nov-2025 14:43:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:58 UTC]    Books columns count: 45
[25-Nov-2025 14:43:58 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:58 UTC]    Language field in books: YES
[25-Nov-2025 14:43:58 UTC]    Format field in books: YES
[25-Nov-2025 14:43:58 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:58 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:43:58 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:43:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:58 UTC] 📊 Database Info:
[25-Nov-2025 14:43:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:58 UTC]    Books columns count: 45
[25-Nov-2025 14:43:58 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:58 UTC]    Language field in books: YES
[25-Nov-2025 14:43:58 UTC]    Format field in books: YES
[25-Nov-2025 14:43:58 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:43:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:43:58 UTC] 📊 Database Info:
[25-Nov-2025 14:43:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:43:58 UTC]    Books columns count: 45
[25-Nov-2025 14:43:58 UTC]    Categories columns count: 7
[25-Nov-2025 14:43:58 UTC]    Language field in books: YES
[25-Nov-2025 14:43:58 UTC]    Format field in books: YES
[25-Nov-2025 14:43:58 UTC]    Description field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:43:58 UTC]    Is_active field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:43:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:43:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:43:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:43:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:43:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:43:58 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:43:58 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:43:58 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:44:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44: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
[25-Nov-2025 14:44:03 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 14:44: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
[25-Nov-2025 14:44:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:03 UTC] 📊 Database Info:
[25-Nov-2025 14:44:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:03 UTC]    Books columns count: 45
[25-Nov-2025 14:44:03 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:03 UTC]    Language field in books: YES
[25-Nov-2025 14:44:03 UTC]    Format field in books: YES
[25-Nov-2025 14:44:03 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44: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
[25-Nov-2025 14:44:03 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 14:44: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
[25-Nov-2025 14:44:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:03 UTC] 📊 Database Info:
[25-Nov-2025 14:44:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:03 UTC]    Books columns count: 45
[25-Nov-2025 14:44:03 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:03 UTC]    Language field in books: YES
[25-Nov-2025 14:44:03 UTC]    Format field in books: YES
[25-Nov-2025 14:44:03 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:03 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:06 UTC] 📊 Database Info:
[25-Nov-2025 14:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:06 UTC]    Books columns count: 45
[25-Nov-2025 14:44:06 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:06 UTC]    Language field in books: YES
[25-Nov-2025 14:44:06 UTC]    Format field in books: YES
[25-Nov-2025 14:44:06 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:44:06 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:06 UTC] 📊 Database Info:
[25-Nov-2025 14:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:06 UTC]    Books columns count: 45
[25-Nov-2025 14:44:06 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:06 UTC]    Language field in books: YES
[25-Nov-2025 14:44:06 UTC]    Format field in books: YES
[25-Nov-2025 14:44:06 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:06 UTC] 📊 Database Info:
[25-Nov-2025 14:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:06 UTC]    Books columns count: 45
[25-Nov-2025 14:44:06 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:06 UTC]    Language field in books: YES
[25-Nov-2025 14:44:06 UTC]    Format field in books: YES
[25-Nov-2025 14:44:06 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:06 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:44:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:44:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:44:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:44:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44: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
[25-Nov-2025 14:44:19 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 14:44: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
[25-Nov-2025 14:44:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:19 UTC] 📊 Database Info:
[25-Nov-2025 14:44:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:19 UTC]    Books columns count: 45
[25-Nov-2025 14:44:19 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:19 UTC]    Language field in books: YES
[25-Nov-2025 14:44:19 UTC]    Format field in books: YES
[25-Nov-2025 14:44:19 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:44:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:44:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44: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
[25-Nov-2025 14:44:19 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 14:44: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
[25-Nov-2025 14:44:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:44:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:44:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:44:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:44:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:44:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:44:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:44:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:44:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:44:19 UTC] 📊 Database Info:
[25-Nov-2025 14:44:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:44:19 UTC]    Books columns count: 45
[25-Nov-2025 14:44:19 UTC]    Categories columns count: 7
[25-Nov-2025 14:44:19 UTC]    Language field in books: YES
[25-Nov-2025 14:44:19 UTC]    Format field in books: YES
[25-Nov-2025 14:44:19 UTC]    Description field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:44:19 UTC]    Is_active field in books: YES
[25-Nov-2025 14:44:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:44:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:44:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:44:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:44:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:44:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:44:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:47:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:47:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47: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
[25-Nov-2025 14:47:02 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 14:47: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
[25-Nov-2025 14:47:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:47:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47: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
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 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 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47: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
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:47:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47: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
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:02 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 14:47: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
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:47:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:47:02 UTC] 📊 Database Info:
[25-Nov-2025 14:47:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:47:02 UTC]    Books columns count: 45
[25-Nov-2025 14:47:02 UTC]    Categories columns count: 7
[25-Nov-2025 14:47:02 UTC]    Language field in books: YES
[25-Nov-2025 14:47:02 UTC]    Format field in books: YES
[25-Nov-2025 14:47:02 UTC]    Description field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:47:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:47:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:47:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:47:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:47:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:47:02 UTC] 📊 Database Info:
[25-Nov-2025 14:47:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:47:02 UTC]    Books columns count: 45
[25-Nov-2025 14:47:02 UTC]    Categories columns count: 7
[25-Nov-2025 14:47:02 UTC]    Language field in books: YES
[25-Nov-2025 14:47:02 UTC]    Format field in books: YES
[25-Nov-2025 14:47:02 UTC]    Description field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:47:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:47:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:47:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:47:02 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:47:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:47:02 UTC] 📊 Database Info:
[25-Nov-2025 14:47:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:47:02 UTC]    Books columns count: 45
[25-Nov-2025 14:47:02 UTC]    Categories columns count: 7
[25-Nov-2025 14:47:02 UTC]    Language field in books: YES
[25-Nov-2025 14:47:02 UTC]    Format field in books: YES
[25-Nov-2025 14:47:02 UTC]    Description field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:47:02 UTC]    Is_active field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:47:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:47:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:47:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:47:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:47:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:47:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:47:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:47:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:47:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:47:25 UTC] 📊 Database Info:
[25-Nov-2025 14:47:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:47:25 UTC]    Books columns count: 45
[25-Nov-2025 14:47:25 UTC]    Categories columns count: 7
[25-Nov-2025 14:47:25 UTC]    Language field in books: YES
[25-Nov-2025 14:47:25 UTC]    Format field in books: YES
[25-Nov-2025 14:47:25 UTC]    Description field in categories: YES
[25-Nov-2025 14:47:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:47:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:47:25 UTC]    Is_active field in books: YES
[25-Nov-2025 14:47:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:47:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:47:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:47:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:47:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:47:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:47:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:47:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:47:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:47:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:47:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:47:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:47:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:47:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:47:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:47:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:47:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:47:26 UTC] 📊 Database Info:
[25-Nov-2025 14:47:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:47:26 UTC]    Books columns count: 45
[25-Nov-2025 14:47:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:47:26 UTC]    Language field in books: YES
[25-Nov-2025 14:47:26 UTC]    Format field in books: YES
[25-Nov-2025 14:47:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:47:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:47:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:47:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:47:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:47:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:47:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:47:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:47:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:47:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:47:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:08 UTC] 📊 Database Info:
[25-Nov-2025 14:58:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:08 UTC]    Books columns count: 45
[25-Nov-2025 14:58:08 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:08 UTC]    Language field in books: YES
[25-Nov-2025 14:58:08 UTC]    Format field in books: YES
[25-Nov-2025 14:58:08 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 14:58:08 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:08 UTC] 📊 Database Info:
[25-Nov-2025 14:58:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:08 UTC]    Books columns count: 45
[25-Nov-2025 14:58:08 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:08 UTC]    Language field in books: YES
[25-Nov-2025 14:58:08 UTC]    Format field in books: YES
[25-Nov-2025 14:58:08 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:08 UTC] 📊 Database Info:
[25-Nov-2025 14:58:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:08 UTC]    Books columns count: 45
[25-Nov-2025 14:58:08 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:08 UTC]    Language field in books: YES
[25-Nov-2025 14:58:08 UTC]    Format field in books: YES
[25-Nov-2025 14:58:08 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:08 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 14:58:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 14:58:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 14:58:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:25 UTC] 📊 Database Info:
[25-Nov-2025 14:58:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:25 UTC]    Books columns count: 45
[25-Nov-2025 14:58:25 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:25 UTC]    Language field in books: YES
[25-Nov-2025 14:58:25 UTC]    Format field in books: YES
[25-Nov-2025 14:58:25 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:25 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14: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
[25-Nov-2025 14:58:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58: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
[25-Nov-2025 14:58:26 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 14:58: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
[25-Nov-2025 14:58:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:26 UTC] 📊 Database Info:
[25-Nov-2025 14:58:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:26 UTC]    Books columns count: 45
[25-Nov-2025 14:58:26 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:26 UTC]    Language field in books: YES
[25-Nov-2025 14:58:26 UTC]    Format field in books: YES
[25-Nov-2025 14:58:26 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:26 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58: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
[25-Nov-2025 14:58:30 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 14:58: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
[25-Nov-2025 14:58:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:30 UTC] 📊 Database Info:
[25-Nov-2025 14:58:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:30 UTC]    Books columns count: 45
[25-Nov-2025 14:58:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:30 UTC]    Language field in books: YES
[25-Nov-2025 14:58:30 UTC]    Format field in books: YES
[25-Nov-2025 14:58:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58: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
[25-Nov-2025 14:58:30 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 14:58: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
[25-Nov-2025 14:58:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:30 UTC] 📊 Database Info:
[25-Nov-2025 14:58:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:30 UTC]    Books columns count: 45
[25-Nov-2025 14:58:30 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:30 UTC]    Language field in books: YES
[25-Nov-2025 14:58:30 UTC]    Format field in books: YES
[25-Nov-2025 14:58:30 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:30 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58: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
[25-Nov-2025 14:58:49 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 14:58: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
[25-Nov-2025 14:58:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:49 UTC] 📊 Database Info:
[25-Nov-2025 14:58:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:49 UTC]    Books columns count: 45
[25-Nov-2025 14:58:49 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:49 UTC]    Language field in books: YES
[25-Nov-2025 14:58:49 UTC]    Format field in books: YES
[25-Nov-2025 14:58:49 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:49 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 14:58:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 14:58:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58: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
[25-Nov-2025 14:58:50 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 14:58: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
[25-Nov-2025 14:58:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 14:58:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 14:58:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 14:58:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 14:58:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 14:58:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 14:58:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 14:58:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 14:58:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 14:58:50 UTC] 📊 Database Info:
[25-Nov-2025 14:58:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 14:58:50 UTC]    Books columns count: 45
[25-Nov-2025 14:58:50 UTC]    Categories columns count: 7
[25-Nov-2025 14:58:50 UTC]    Language field in books: YES
[25-Nov-2025 14:58:50 UTC]    Format field in books: YES
[25-Nov-2025 14:58:50 UTC]    Description field in categories: YES
[25-Nov-2025 14:58:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 14:58:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 14:58:50 UTC]    Is_active field in books: YES
[25-Nov-2025 14:58:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 14:58:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 14:58:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 14:58:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 14:58:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 14:58:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 14:58:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:35 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 15:00: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
[25-Nov-2025 15:00:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:35 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 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:35 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 15:00: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
[25-Nov-2025 15:00:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:35 UTC] 📊 Database Info:
[25-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:35 UTC]    Books columns count: 45
[25-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:35 UTC]    Language field in books: YES
[25-Nov-2025 15:00:35 UTC]    Format field in books: YES
[25-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:00:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:00:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:35 UTC] 📊 Database Info:
[25-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:35 UTC]    Books columns count: 45
[25-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:35 UTC]    Language field in books: YES
[25-Nov-2025 15:00:35 UTC]    Format field in books: YES
[25-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:00:35 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:00:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:35 UTC] 📊 Database Info:
[25-Nov-2025 15:00:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:35 UTC]    Books columns count: 45
[25-Nov-2025 15:00:35 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:35 UTC]    Language field in books: YES
[25-Nov-2025 15:00:35 UTC]    Format field in books: YES
[25-Nov-2025 15:00:35 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:35 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:00:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:47 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 15:00: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
[25-Nov-2025 15:00:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:47 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 15:00: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
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:47 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 15:00:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00: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
[25-Nov-2025 15:00:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:00:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:00:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:00:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:47 UTC] 📊 Database Info:
[25-Nov-2025 15:00:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:47 UTC]    Books columns count: 45
[25-Nov-2025 15:00:47 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:47 UTC]    Language field in books: YES
[25-Nov-2025 15:00:47 UTC]    Format field in books: YES
[25-Nov-2025 15:00:47 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:00:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:00:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:47 UTC] 📊 Database Info:
[25-Nov-2025 15:00:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:47 UTC]    Books columns count: 45
[25-Nov-2025 15:00:47 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:47 UTC]    Language field in books: YES
[25-Nov-2025 15:00:47 UTC]    Format field in books: YES
[25-Nov-2025 15:00:47 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:00:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:00:47 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:00:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:00:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:00:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:00:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:00:47 UTC] 📊 Database Info:
[25-Nov-2025 15:00:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:00:47 UTC]    Books columns count: 45
[25-Nov-2025 15:00:47 UTC]    Categories columns count: 7
[25-Nov-2025 15:00:47 UTC]    Language field in books: YES
[25-Nov-2025 15:00:47 UTC]    Format field in books: YES
[25-Nov-2025 15:00:47 UTC]    Description field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:00:47 UTC]    Is_active field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:00:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:00:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:00:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:00:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:00:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-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
[25-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:23 UTC] 📊 Database Info:
[25-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:23 UTC]    Books columns count: 45
[25-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:23 UTC]    Language field in books: YES
[25-Nov-2025 15:11:23 UTC]    Format field in books: YES
[25-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:11:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:11:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:23 UTC] 📊 Database Info:
[25-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:23 UTC]    Books columns count: 45
[25-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:23 UTC]    Language field in books: YES
[25-Nov-2025 15:11:23 UTC]    Format field in books: YES
[25-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:23 UTC] 📊 Database Info:
[25-Nov-2025 15:11:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:23 UTC]    Books columns count: 45
[25-Nov-2025 15:11:23 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:23 UTC]    Language field in books: YES
[25-Nov-2025 15:11:23 UTC]    Format field in books: YES
[25-Nov-2025 15:11:23 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:23 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-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
[25-Nov-2025 15:11:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-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
[25-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
[25-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
[25-Nov-2025 15:11:23 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:11:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:27 UTC] 📊 Database Info:
[25-Nov-2025 15:11:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:27 UTC]    Books columns count: 45
[25-Nov-2025 15:11:27 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:27 UTC]    Language field in books: YES
[25-Nov-2025 15:11:27 UTC]    Format field in books: YES
[25-Nov-2025 15:11:27 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:27 UTC] 📊 Database Info:
[25-Nov-2025 15:11:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:27 UTC]    Books columns count: 45
[25-Nov-2025 15:11:27 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:27 UTC]    Language field in books: YES
[25-Nov-2025 15:11:27 UTC]    Format field in books: YES
[25-Nov-2025 15:11:27 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:27 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:11:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11: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
[25-Nov-2025 15:11:45 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 15:11: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
[25-Nov-2025 15:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:11:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:11:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:11:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:46 UTC] 📊 Database Info:
[25-Nov-2025 15:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:46 UTC]    Books columns count: 45
[25-Nov-2025 15:11:46 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:46 UTC]    Language field in books: YES
[25-Nov-2025 15:11:46 UTC]    Format field in books: YES
[25-Nov-2025 15:11:46 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:46 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:11:46 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:11:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:46 UTC] 📊 Database Info:
[25-Nov-2025 15:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:46 UTC]    Books columns count: 45
[25-Nov-2025 15:11:46 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:46 UTC]    Language field in books: YES
[25-Nov-2025 15:11:46 UTC]    Format field in books: YES
[25-Nov-2025 15:11:46 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:11:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:11:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:11:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:11:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:11:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:11:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:11:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:11:46 UTC] 📊 Database Info:
[25-Nov-2025 15:11:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:11:46 UTC]    Books columns count: 45
[25-Nov-2025 15:11:46 UTC]    Categories columns count: 7
[25-Nov-2025 15:11:46 UTC]    Language field in books: YES
[25-Nov-2025 15:11:46 UTC]    Format field in books: YES
[25-Nov-2025 15:11:46 UTC]    Description field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:11:46 UTC]    Is_active field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:11:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:11:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:11:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:11:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:11:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:12:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:12:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:12:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:12:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:12: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
[25-Nov-2025 15:12:15 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 15:12: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
[25-Nov-2025 15:12:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:12:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:12:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:12:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:12:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:12:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:12:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:12:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:12:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:12:15 UTC] 📊 Database Info:
[25-Nov-2025 15:12:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:12:15 UTC]    Books columns count: 45
[25-Nov-2025 15:12:15 UTC]    Categories columns count: 7
[25-Nov-2025 15:12:15 UTC]    Language field in books: YES
[25-Nov-2025 15:12:15 UTC]    Format field in books: YES
[25-Nov-2025 15:12:15 UTC]    Description field in categories: YES
[25-Nov-2025 15:12:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:12:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:12:15 UTC]    Is_active field in books: YES
[25-Nov-2025 15:12:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:12:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:12:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:12:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:12:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:12:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:12:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:12:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:12:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 15:12:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:12:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:12:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:12:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:12:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:12:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:12:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:12:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:12:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:12:16 UTC] 📊 Database Info:
[25-Nov-2025 15:12:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:12:16 UTC]    Books columns count: 45
[25-Nov-2025 15:12:16 UTC]    Categories columns count: 7
[25-Nov-2025 15:12:16 UTC]    Language field in books: YES
[25-Nov-2025 15:12:16 UTC]    Format field in books: YES
[25-Nov-2025 15:12:16 UTC]    Description field in categories: YES
[25-Nov-2025 15:12:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:12:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:12:16 UTC]    Is_active field in books: YES
[25-Nov-2025 15:12:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:12:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:12:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:12:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:12:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:12:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:12:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 15:13:34 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:34 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 15:13:34 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 15:13:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:34 UTC] 📊 Database Info:
[25-Nov-2025 15:13:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:34 UTC]    Books columns count: 45
[25-Nov-2025 15:13:34 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:34 UTC]    Language field in books: YES
[25-Nov-2025 15:13:34 UTC]    Format field in books: YES
[25-Nov-2025 15:13:34 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:34 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:13:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:13:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:13:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:13:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:13:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:13:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:13:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:13:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:13:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:13:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:13:35 UTC] 📊 Database Info:
[25-Nov-2025 15:13:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:13:35 UTC]    Books columns count: 45
[25-Nov-2025 15:13:35 UTC]    Categories columns count: 7
[25-Nov-2025 15:13:35 UTC]    Language field in books: YES
[25-Nov-2025 15:13:35 UTC]    Format field in books: YES
[25-Nov-2025 15:13:35 UTC]    Description field in categories: YES
[25-Nov-2025 15:13:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:13:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:13:35 UTC]    Is_active field in books: YES
[25-Nov-2025 15:13:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:13:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:13:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:13:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:13:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:13:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:13:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:16:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:16:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:16:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:16:21 UTC] 📊 Database Info:
[25-Nov-2025 15:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:16:21 UTC]    Books columns count: 45
[25-Nov-2025 15:16:21 UTC]    Categories columns count: 7
[25-Nov-2025 15:16:21 UTC]    Language field in books: YES
[25-Nov-2025 15:16:21 UTC]    Format field in books: YES
[25-Nov-2025 15:16:21 UTC]    Description field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Is_active field in books: YES
[25-Nov-2025 15:16:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:16:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:16:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:16:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:16:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:16:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:16:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:16:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:16:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:16:21 UTC] 📊 Database Info:
[25-Nov-2025 15:16:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:16:21 UTC]    Books columns count: 45
[25-Nov-2025 15:16:21 UTC]    Categories columns count: 7
[25-Nov-2025 15:16:21 UTC]    Language field in books: YES
[25-Nov-2025 15:16:21 UTC]    Format field in books: YES
[25-Nov-2025 15:16:21 UTC]    Description field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:16:21 UTC]    Is_active field in books: YES
[25-Nov-2025 15:16:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:16:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:16:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:16:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:16:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:16:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:16:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:16:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:16:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:16:50 UTC] 📊 Database Info:
[25-Nov-2025 15:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:16:50 UTC]    Books columns count: 45
[25-Nov-2025 15:16:50 UTC]    Categories columns count: 7
[25-Nov-2025 15:16:50 UTC]    Language field in books: YES
[25-Nov-2025 15:16:50 UTC]    Format field in books: YES
[25-Nov-2025 15:16:50 UTC]    Description field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:16:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:16:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:16:50 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:16:50 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:16:50 UTC] 📊 Database Info:
[25-Nov-2025 15:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:16:50 UTC]    Books columns count: 45
[25-Nov-2025 15:16:50 UTC]    Categories columns count: 7
[25-Nov-2025 15:16:50 UTC]    Language field in books: YES
[25-Nov-2025 15:16:50 UTC]    Format field in books: YES
[25-Nov-2025 15:16:50 UTC]    Description field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:16:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:16:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:16:50 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:16:50 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:16:50 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:16:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:16:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:16:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:16:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:16:50 UTC] 📊 Database Info:
[25-Nov-2025 15:16:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:16:50 UTC]    Books columns count: 45
[25-Nov-2025 15:16:50 UTC]    Categories columns count: 7
[25-Nov-2025 15:16:50 UTC]    Language field in books: YES
[25-Nov-2025 15:16:50 UTC]    Format field in books: YES
[25-Nov-2025 15:16:50 UTC]    Description field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:16:50 UTC]    Is_active field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:16:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:16:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:16:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:16:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:16:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:17:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17: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
[25-Nov-2025 15:17:06 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 15:17: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
[25-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:17:06 UTC] 📊 Database Info:
[25-Nov-2025 15:17:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:17:06 UTC]    Books columns count: 45
[25-Nov-2025 15:17:06 UTC]    Categories columns count: 7
[25-Nov-2025 15:17:06 UTC]    Language field in books: YES
[25-Nov-2025 15:17:06 UTC]    Format field in books: YES
[25-Nov-2025 15:17:06 UTC]    Description field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Is_active field in books: YES
[25-Nov-2025 15:17:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:17:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:17:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:17:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:17:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:17:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:17:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17: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
[25-Nov-2025 15:17:06 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 15:17: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
[25-Nov-2025 15:17:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:17:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:17:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:17:06 UTC] 📊 Database Info:
[25-Nov-2025 15:17:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:17:06 UTC]    Books columns count: 45
[25-Nov-2025 15:17:06 UTC]    Categories columns count: 7
[25-Nov-2025 15:17:06 UTC]    Language field in books: YES
[25-Nov-2025 15:17:06 UTC]    Format field in books: YES
[25-Nov-2025 15:17:06 UTC]    Description field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:17:06 UTC]    Is_active field in books: YES
[25-Nov-2025 15:17:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:17:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:17:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:17:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:17:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:17:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:17:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:17:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:17:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:17:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:17:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:17:13 UTC] 📊 Database Info:
[25-Nov-2025 15:17:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:17:13 UTC]    Books columns count: 45
[25-Nov-2025 15:17:13 UTC]    Categories columns count: 7
[25-Nov-2025 15:17:13 UTC]    Language field in books: YES
[25-Nov-2025 15:17:13 UTC]    Format field in books: YES
[25-Nov-2025 15:17:13 UTC]    Description field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Is_active field in books: YES
[25-Nov-2025 15:17:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:17:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:17:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:17:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:17:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:17:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:17:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:17:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:17:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:17:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:17:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:17:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:17:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:17:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:17:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:17:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:17:13 UTC] 📊 Database Info:
[25-Nov-2025 15:17:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:17:13 UTC]    Books columns count: 45
[25-Nov-2025 15:17:13 UTC]    Categories columns count: 7
[25-Nov-2025 15:17:13 UTC]    Language field in books: YES
[25-Nov-2025 15:17:13 UTC]    Format field in books: YES
[25-Nov-2025 15:17:13 UTC]    Description field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:17:13 UTC]    Is_active field in books: YES
[25-Nov-2025 15:17:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:17:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:17:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:17:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:17:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:17:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:17:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:22:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:22:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:22:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:22:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:22:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:22:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:22:05 UTC] 📊 Database Info:
[25-Nov-2025 15:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:22:05 UTC]    Books columns count: 45
[25-Nov-2025 15:22:05 UTC]    Categories columns count: 7
[25-Nov-2025 15:22:05 UTC]    Language field in books: YES
[25-Nov-2025 15:22:05 UTC]    Format field in books: YES
[25-Nov-2025 15:22:05 UTC]    Description field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:22:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:22:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:22:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:22:05 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:22:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:22:05 UTC] 📊 Database Info:
[25-Nov-2025 15:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:22:05 UTC]    Books columns count: 45
[25-Nov-2025 15:22:05 UTC]    Categories columns count: 7
[25-Nov-2025 15:22:05 UTC]    Language field in books: YES
[25-Nov-2025 15:22:05 UTC]    Format field in books: YES
[25-Nov-2025 15:22:05 UTC]    Description field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:22:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:22:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:22:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:22:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:22:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:22:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:22:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:22:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:22:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:22:05 UTC] 📊 Database Info:
[25-Nov-2025 15:22:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:22:05 UTC]    Books columns count: 45
[25-Nov-2025 15:22:05 UTC]    Categories columns count: 7
[25-Nov-2025 15:22:05 UTC]    Language field in books: YES
[25-Nov-2025 15:22:05 UTC]    Format field in books: YES
[25-Nov-2025 15:22:05 UTC]    Description field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:22:05 UTC]    Is_active field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:22:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:22:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:22:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:22:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:22:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:00 UTC] 📊 Database Info:
[25-Nov-2025 15:26:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:00 UTC]    Books columns count: 45
[25-Nov-2025 15:26:00 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:00 UTC]    Language field in books: YES
[25-Nov-2025 15:26:00 UTC]    Format field in books: YES
[25-Nov-2025 15:26:00 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:00 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:26:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:01 UTC] 📊 Database Info:
[25-Nov-2025 15:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:01 UTC]    Books columns count: 45
[25-Nov-2025 15:26:01 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:01 UTC]    Language field in books: YES
[25-Nov-2025 15:26:01 UTC]    Format field in books: YES
[25-Nov-2025 15:26:01 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:26:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:26:01 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:26:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:01 UTC] 📊 Database Info:
[25-Nov-2025 15:26:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:01 UTC]    Books columns count: 45
[25-Nov-2025 15:26:01 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:01 UTC]    Language field in books: YES
[25-Nov-2025 15:26:01 UTC]    Format field in books: YES
[25-Nov-2025 15:26:01 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:01 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:26:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:26:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:26:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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 15: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 15: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 15:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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 15: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 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15: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 15: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 15: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 15: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 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:26:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:26:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:26:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:39 UTC] 📊 Database Info:
[25-Nov-2025 15:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:39 UTC]    Books columns count: 45
[25-Nov-2025 15:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:39 UTC]    Language field in books: YES
[25-Nov-2025 15:26:39 UTC]    Format field in books: YES
[25-Nov-2025 15:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:26:39 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:39 UTC] 📊 Database Info:
[25-Nov-2025 15:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:39 UTC]    Books columns count: 45
[25-Nov-2025 15:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:39 UTC]    Language field in books: YES
[25-Nov-2025 15:26:39 UTC]    Format field in books: YES
[25-Nov-2025 15:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:26:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:26:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:26:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:26:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:26:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:26:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:26:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:26:39 UTC] 📊 Database Info:
[25-Nov-2025 15:26:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:26:39 UTC]    Books columns count: 45
[25-Nov-2025 15:26:39 UTC]    Categories columns count: 7
[25-Nov-2025 15:26:39 UTC]    Language field in books: YES
[25-Nov-2025 15:26:39 UTC]    Format field in books: YES
[25-Nov-2025 15:26:39 UTC]    Description field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:26:39 UTC]    Is_active field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:26:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:26:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:26:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15: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 15:26:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:26:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:04 UTC] 📊 Database Info:
[25-Nov-2025 15:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:04 UTC]    Books columns count: 45
[25-Nov-2025 15:48:04 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:04 UTC]    Language field in books: YES
[25-Nov-2025 15:48:04 UTC]    Format field in books: YES
[25-Nov-2025 15:48:04 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 15:48:04 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:04 UTC] 📊 Database Info:
[25-Nov-2025 15:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:04 UTC]    Books columns count: 45
[25-Nov-2025 15:48:04 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:04 UTC]    Language field in books: YES
[25-Nov-2025 15:48:04 UTC]    Format field in books: YES
[25-Nov-2025 15:48:04 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:04 UTC] 📊 Database Info:
[25-Nov-2025 15:48:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:04 UTC]    Books columns count: 45
[25-Nov-2025 15:48:04 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:04 UTC]    Language field in books: YES
[25-Nov-2025 15:48:04 UTC]    Format field in books: YES
[25-Nov-2025 15:48:04 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:04 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 15:48:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 15:48:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 15:48:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48: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
[25-Nov-2025 15:48:16 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 15:48: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
[25-Nov-2025 15:48:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:16 UTC] 📊 Database Info:
[25-Nov-2025 15:48:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:16 UTC]    Books columns count: 45
[25-Nov-2025 15:48:16 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:16 UTC]    Language field in books: YES
[25-Nov-2025 15:48:16 UTC]    Format field in books: YES
[25-Nov-2025 15:48:16 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48: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
[25-Nov-2025 15:48:16 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 15:48: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
[25-Nov-2025 15:48:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:16 UTC] 📊 Database Info:
[25-Nov-2025 15:48:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:16 UTC]    Books columns count: 45
[25-Nov-2025 15:48:16 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:16 UTC]    Language field in books: YES
[25-Nov-2025 15:48:16 UTC]    Format field in books: YES
[25-Nov-2025 15:48:16 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:16 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 15:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:44 UTC] 📊 Database Info:
[25-Nov-2025 15:48:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:44 UTC]    Books columns count: 45
[25-Nov-2025 15:48:44 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:44 UTC]    Language field in books: YES
[25-Nov-2025 15:48:44 UTC]    Format field in books: YES
[25-Nov-2025 15:48:44 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 15:48:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 15:48:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 15:48:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 15:48:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 15:48:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 15:48:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 15:48:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 15:48:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 15:48:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 15:48:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 15:48:44 UTC] 📊 Database Info:
[25-Nov-2025 15:48:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 15:48:44 UTC]    Books columns count: 45
[25-Nov-2025 15:48:44 UTC]    Categories columns count: 7
[25-Nov-2025 15:48:44 UTC]    Language field in books: YES
[25-Nov-2025 15:48:44 UTC]    Format field in books: YES
[25-Nov-2025 15:48:44 UTC]    Description field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 15:48:44 UTC]    Is_active field in books: YES
[25-Nov-2025 15:48:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 15:48:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 15:48:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 15:48:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 15:48:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15: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
[25-Nov-2025 15:48:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 15:48:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:06 UTC] 📊 Database Info:
[25-Nov-2025 16:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:06 UTC]    Books columns count: 45
[25-Nov-2025 16:08:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:06 UTC]    Language field in books: YES
[25-Nov-2025 16:08:06 UTC]    Format field in books: YES
[25-Nov-2025 16:08:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:06 UTC] 📊 Database Info:
[25-Nov-2025 16:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:06 UTC]    Books columns count: 45
[25-Nov-2025 16:08:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:06 UTC]    Language field in books: YES
[25-Nov-2025 16:08:06 UTC]    Format field in books: YES
[25-Nov-2025 16:08:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:06 UTC] 📊 Database Info:
[25-Nov-2025 16:08:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:06 UTC]    Books columns count: 45
[25-Nov-2025 16:08:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:06 UTC]    Language field in books: YES
[25-Nov-2025 16:08:06 UTC]    Format field in books: YES
[25-Nov-2025 16:08:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:06 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:08:06 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:08:06 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:08:06 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:08:06 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:08:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:18 UTC] 📊 Database Info:
[25-Nov-2025 16:08:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:18 UTC]    Books columns count: 45
[25-Nov-2025 16:08:18 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:18 UTC]    Language field in books: YES
[25-Nov-2025 16:08:18 UTC]    Format field in books: YES
[25-Nov-2025 16:08:18 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:18 UTC] 📊 Database Info:
[25-Nov-2025 16:08:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:18 UTC]    Books columns count: 45
[25-Nov-2025 16:08:18 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:18 UTC]    Language field in books: YES
[25-Nov-2025 16:08:18 UTC]    Format field in books: YES
[25-Nov-2025 16:08:18 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:18 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:56 UTC] 📊 Database Info:
[25-Nov-2025 16:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:56 UTC]    Books columns count: 45
[25-Nov-2025 16:08:56 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:56 UTC]    Language field in books: YES
[25-Nov-2025 16:08:56 UTC]    Format field in books: YES
[25-Nov-2025 16:08:56 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:08:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:08:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:08:56 UTC] 📊 Database Info:
[25-Nov-2025 16:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:08:56 UTC]    Books columns count: 45
[25-Nov-2025 16:08:56 UTC]    Categories columns count: 7
[25-Nov-2025 16:08:56 UTC]    Language field in books: YES
[25-Nov-2025 16:08:56 UTC]    Format field in books: YES
[25-Nov-2025 16:08:56 UTC]    Description field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:08:56 UTC]    Is_active field in books: YES
[25-Nov-2025 16:08:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:08:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:08:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:08:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-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
[25-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
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:33 UTC] 📊 Database Info:
[25-Nov-2025 16:12:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:33 UTC]    Books columns count: 45
[25-Nov-2025 16:12:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:33 UTC]    Language field in books: YES
[25-Nov-2025 16:12:33 UTC]    Format field in books: YES
[25-Nov-2025 16:12:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:12:33 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:33 UTC] 📊 Database Info:
[25-Nov-2025 16:12:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:33 UTC]    Books columns count: 45
[25-Nov-2025 16:12:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:33 UTC]    Language field in books: YES
[25-Nov-2025 16:12:33 UTC]    Format field in books: YES
[25-Nov-2025 16:12:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:33 UTC] 📊 Database Info:
[25-Nov-2025 16:12:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:33 UTC]    Books columns count: 45
[25-Nov-2025 16:12:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:33 UTC]    Language field in books: YES
[25-Nov-2025 16:12:33 UTC]    Format field in books: YES
[25-Nov-2025 16:12:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:12:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:12:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12: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
[25-Nov-2025 16:12:49 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 16:12: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
[25-Nov-2025 16:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:49 UTC] 📊 Database Info:
[25-Nov-2025 16:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:49 UTC]    Books columns count: 45
[25-Nov-2025 16:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:49 UTC]    Language field in books: YES
[25-Nov-2025 16:12:49 UTC]    Format field in books: YES
[25-Nov-2025 16:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:54 UTC] 📊 Database Info:
[25-Nov-2025 16:12:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:54 UTC]    Books columns count: 45
[25-Nov-2025 16:12:54 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:54 UTC]    Language field in books: YES
[25-Nov-2025 16:12:54 UTC]    Format field in books: YES
[25-Nov-2025 16:12:54 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:54 UTC] 📊 Database Info:
[25-Nov-2025 16:12:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:54 UTC]    Books columns count: 45
[25-Nov-2025 16:12:54 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:54 UTC]    Language field in books: YES
[25-Nov-2025 16:12:54 UTC]    Format field in books: YES
[25-Nov-2025 16:12:54 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:54 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:12:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:59 UTC] 📊 Database Info:
[25-Nov-2025 16:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:59 UTC]    Books columns count: 45
[25-Nov-2025 16:12:59 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:59 UTC]    Language field in books: YES
[25-Nov-2025 16:12:59 UTC]    Format field in books: YES
[25-Nov-2025 16:12:59 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:12:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:12:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:12:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:12:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:12:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:12:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:12:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:12:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:12:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:12:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:12:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:12:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:12:59 UTC] 📊 Database Info:
[25-Nov-2025 16:12:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:12:59 UTC]    Books columns count: 45
[25-Nov-2025 16:12:59 UTC]    Categories columns count: 7
[25-Nov-2025 16:12:59 UTC]    Language field in books: YES
[25-Nov-2025 16:12:59 UTC]    Format field in books: YES
[25-Nov-2025 16:12:59 UTC]    Description field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:12:59 UTC]    Is_active field in books: YES
[25-Nov-2025 16:12:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:12:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:12:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:12:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:12:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:12:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:12:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:15:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:15:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:15:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-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
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-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
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:15:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:15:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:15:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:15:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:15:51 UTC] 📊 Database Info:
[25-Nov-2025 16:15:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:15:51 UTC]    Books columns count: 45
[25-Nov-2025 16:15:51 UTC]    Categories columns count: 7
[25-Nov-2025 16:15:51 UTC]    Language field in books: YES
[25-Nov-2025 16:15:51 UTC]    Format field in books: YES
[25-Nov-2025 16:15:51 UTC]    Description field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:15:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:15:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:15:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:15:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:15:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:15:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:15:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:15:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:15:51 UTC] 📊 Database Info:
[25-Nov-2025 16:15:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:15:51 UTC]    Books columns count: 45
[25-Nov-2025 16:15:51 UTC]    Categories columns count: 7
[25-Nov-2025 16:15:51 UTC]    Language field in books: YES
[25-Nov-2025 16:15:51 UTC]    Format field in books: YES
[25-Nov-2025 16:15:51 UTC]    Description field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:15:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:15:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:15:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:15:51 UTC] 📊 Database Info:
[25-Nov-2025 16:15:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:15:51 UTC]    Books columns count: 45
[25-Nov-2025 16:15:51 UTC]    Categories columns count: 7
[25-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
[25-Nov-2025 16:15:51 UTC]    Language field in books: YES
[25-Nov-2025 16:15:51 UTC]    Format field in books: YES
[25-Nov-2025 16:15:51 UTC]    Description field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:15:51 UTC]    Is_active field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_link field in books: YES
[25-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
[25-Nov-2025 16:15:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:15:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:15:51 UTC]    Is_external_download_protected field in books: YES
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:15:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:15:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:15:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:15:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:15:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:15:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:16:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:16:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16: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
[25-Nov-2025 16:16:04 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 16:16: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
[25-Nov-2025 16:16:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:16:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:16:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:16:04 UTC] 📊 Database Info:
[25-Nov-2025 16:16:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:16:04 UTC]    Books columns count: 45
[25-Nov-2025 16:16:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:16:04 UTC]    Language field in books: YES
[25-Nov-2025 16:16:04 UTC]    Format field in books: YES
[25-Nov-2025 16:16:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:16:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:16:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:16:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:16:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:16:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:16:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:16:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16: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
[25-Nov-2025 16:16:04 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 16:16: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
[25-Nov-2025 16:16:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:16:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:16:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:16:04 UTC] 📊 Database Info:
[25-Nov-2025 16:16:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:16:04 UTC]    Books columns count: 45
[25-Nov-2025 16:16:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:16:04 UTC]    Language field in books: YES
[25-Nov-2025 16:16:04 UTC]    Format field in books: YES
[25-Nov-2025 16:16:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:16:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:16:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:16:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:16:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:16:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:16:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:16:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16: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
[25-Nov-2025 16:16:11 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 16:16: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
[25-Nov-2025 16:16:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:16:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:16:11 UTC] 📊 Database Info:
[25-Nov-2025 16:16:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:16:11 UTC]    Books columns count: 45
[25-Nov-2025 16:16:11 UTC]    Categories columns count: 7
[25-Nov-2025 16:16:11 UTC]    Language field in books: YES
[25-Nov-2025 16:16:11 UTC]    Format field in books: YES
[25-Nov-2025 16:16:11 UTC]    Description field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Is_active field in books: YES
[25-Nov-2025 16:16:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:16:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:16:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:16:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:16:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16: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
[25-Nov-2025 16:16:11 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 16:16: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
[25-Nov-2025 16:16:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:16:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:16:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:16:11 UTC] 📊 Database Info:
[25-Nov-2025 16:16:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:16:11 UTC]    Books columns count: 45
[25-Nov-2025 16:16:11 UTC]    Categories columns count: 7
[25-Nov-2025 16:16:11 UTC]    Language field in books: YES
[25-Nov-2025 16:16:11 UTC]    Format field in books: YES
[25-Nov-2025 16:16:11 UTC]    Description field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:16:11 UTC]    Is_active field in books: YES
[25-Nov-2025 16:16:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:16:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:16:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:16:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:16:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:07 UTC] 📊 Database Info:
[25-Nov-2025 16:25:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:07 UTC]    Books columns count: 45
[25-Nov-2025 16:25:07 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:07 UTC]    Language field in books: YES
[25-Nov-2025 16:25:07 UTC]    Format field in books: YES
[25-Nov-2025 16:25:07 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:25:07 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:07 UTC] 📊 Database Info:
[25-Nov-2025 16:25:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:07 UTC]    Books columns count: 45
[25-Nov-2025 16:25:07 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:07 UTC]    Language field in books: YES
[25-Nov-2025 16:25:07 UTC]    Format field in books: YES
[25-Nov-2025 16:25:07 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:07 UTC] 📊 Database Info:
[25-Nov-2025 16:25:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:07 UTC]    Books columns count: 45
[25-Nov-2025 16:25:07 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:07 UTC]    Language field in books: YES
[25-Nov-2025 16:25:07 UTC]    Format field in books: YES
[25-Nov-2025 16:25:07 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:07 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16: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
[25-Nov-2025 16:25:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:25:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:25:07 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:25:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25: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
[25-Nov-2025 16:25:22 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 16:25: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
[25-Nov-2025 16:25:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:22 UTC] 📊 Database Info:
[25-Nov-2025 16:25:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:22 UTC]    Books columns count: 45
[25-Nov-2025 16:25:22 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:22 UTC]    Language field in books: YES
[25-Nov-2025 16:25:22 UTC]    Format field in books: YES
[25-Nov-2025 16:25:22 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:22 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25: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
[25-Nov-2025 16:25:22 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 16:25: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
[25-Nov-2025 16:25:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:23 UTC] 📊 Database Info:
[25-Nov-2025 16:25:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:23 UTC]    Books columns count: 45
[25-Nov-2025 16:25:23 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:23 UTC]    Language field in books: YES
[25-Nov-2025 16:25:23 UTC]    Format field in books: YES
[25-Nov-2025 16:25:23 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:23 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:32 UTC] 📊 Database Info:
[25-Nov-2025 16:25:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:32 UTC]    Books columns count: 45
[25-Nov-2025 16:25:32 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:32 UTC]    Language field in books: YES
[25-Nov-2025 16:25:32 UTC]    Format field in books: YES
[25-Nov-2025 16:25:32 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:32 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25: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
[25-Nov-2025 16:25:33 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 16:25: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
[25-Nov-2025 16:25:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:33 UTC] 📊 Database Info:
[25-Nov-2025 16:25:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:33 UTC]    Books columns count: 45
[25-Nov-2025 16:25:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:33 UTC]    Language field in books: YES
[25-Nov-2025 16:25:33 UTC]    Format field in books: YES
[25-Nov-2025 16:25:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:25:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:25:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:25:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:25:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:25:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:25:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:25:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:25:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:25:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:52 UTC] 📊 Database Info:
[25-Nov-2025 16:25:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:52 UTC]    Books columns count: 45
[25-Nov-2025 16:25:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:52 UTC]    Language field in books: YES
[25-Nov-2025 16:25:52 UTC]    Format field in books: YES
[25-Nov-2025 16:25:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:25:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:25:52 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:25:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:52 UTC] 📊 Database Info:
[25-Nov-2025 16:25:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:52 UTC]    Books columns count: 45
[25-Nov-2025 16:25:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:52 UTC]    Language field in books: YES
[25-Nov-2025 16:25:52 UTC]    Format field in books: YES
[25-Nov-2025 16:25:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:25:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:25:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:25:52 UTC] 📊 Database Info:
[25-Nov-2025 16:25:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:25:52 UTC]    Books columns count: 45
[25-Nov-2025 16:25:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:25:52 UTC]    Language field in books: YES
[25-Nov-2025 16:25:52 UTC]    Format field in books: YES
[25-Nov-2025 16:25:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:25:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:25:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:25:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:25:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:25:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:25:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:25:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:25:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:25:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:26:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:26:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:26:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:26:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:26:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:26:06 UTC] 📊 Database Info:
[25-Nov-2025 16:26:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:26:06 UTC]    Books columns count: 45
[25-Nov-2025 16:26:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:26:06 UTC]    Language field in books: YES
[25-Nov-2025 16:26:06 UTC]    Format field in books: YES
[25-Nov-2025 16:26:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:26:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:26:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:26:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:26:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:26:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:26:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:26:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:26:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:26:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:26:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:26:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:26:06 UTC] 📊 Database Info:
[25-Nov-2025 16:26:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:26:06 UTC]    Books columns count: 45
[25-Nov-2025 16:26:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:26:06 UTC]    Language field in books: YES
[25-Nov-2025 16:26:06 UTC]    Format field in books: YES
[25-Nov-2025 16:26:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:26:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:26:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:26:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:26:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:26:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:26:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:26:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:26:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:26:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:26:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:26:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:26:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:26:12 UTC] 📊 Database Info:
[25-Nov-2025 16:26:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:26:12 UTC]    Books columns count: 45
[25-Nov-2025 16:26:12 UTC]    Categories columns count: 7
[25-Nov-2025 16:26:12 UTC]    Language field in books: YES
[25-Nov-2025 16:26:12 UTC]    Format field in books: YES
[25-Nov-2025 16:26:12 UTC]    Description field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Is_active field in books: YES
[25-Nov-2025 16:26:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:26:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:26:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:26:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:26:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:26:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:26:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:26:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:26:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:26:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:26:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:26:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:26:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:26:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:26:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:26:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:26:12 UTC] 📊 Database Info:
[25-Nov-2025 16:26:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:26:12 UTC]    Books columns count: 45
[25-Nov-2025 16:26:12 UTC]    Categories columns count: 7
[25-Nov-2025 16:26:12 UTC]    Language field in books: YES
[25-Nov-2025 16:26:12 UTC]    Format field in books: YES
[25-Nov-2025 16:26:12 UTC]    Description field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:26:12 UTC]    Is_active field in books: YES
[25-Nov-2025 16:26:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:26:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:26:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:26:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:26:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:26:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:26:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:03 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 16:30: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
[25-Nov-2025 16:30:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:03 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 16:30: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
[25-Nov-2025 16:30:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 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 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:03 UTC] 📊 Database Info:
[25-Nov-2025 16:30:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:03 UTC]    Books columns count: 45
[25-Nov-2025 16:30:03 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:03 UTC]    Language field in books: YES
[25-Nov-2025 16:30:03 UTC]    Format field in books: YES
[25-Nov-2025 16:30:03 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:03 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:03 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:30:03 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:30:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:04 UTC] 📊 Database Info:
[25-Nov-2025 16:30:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:04 UTC]    Books columns count: 45
[25-Nov-2025 16:30:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:04 UTC]    Language field in books: YES
[25-Nov-2025 16:30:04 UTC]    Format field in books: YES
[25-Nov-2025 16:30:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:30:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:30:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:30:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:30:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:04 UTC] 📊 Database Info:
[25-Nov-2025 16:30:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:04 UTC]    Books columns count: 45
[25-Nov-2025 16:30:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:04 UTC]    Language field in books: YES
[25-Nov-2025 16:30:04 UTC]    Format field in books: YES
[25-Nov-2025 16:30:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:30:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:19 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 16:30: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
[25-Nov-2025 16:30:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:19 UTC] 📊 Database Info:
[25-Nov-2025 16:30:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:19 UTC]    Books columns count: 45
[25-Nov-2025 16:30:19 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:19 UTC]    Language field in books: YES
[25-Nov-2025 16:30:19 UTC]    Format field in books: YES
[25-Nov-2025 16:30:19 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:19 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:30:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:20 UTC] 📊 Database Info:
[25-Nov-2025 16:30:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:20 UTC]    Books columns count: 45
[25-Nov-2025 16:30:20 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:20 UTC]    Language field in books: YES
[25-Nov-2025 16:30:20 UTC]    Format field in books: YES
[25-Nov-2025 16:30:20 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:20 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:30:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:26 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 16:30: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
[25-Nov-2025 16:30:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:26 UTC] 📊 Database Info:
[25-Nov-2025 16:30:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:26 UTC]    Books columns count: 45
[25-Nov-2025 16:30:26 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:26 UTC]    Language field in books: YES
[25-Nov-2025 16:30:26 UTC]    Format field in books: YES
[25-Nov-2025 16:30:26 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:30:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:30:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30: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
[25-Nov-2025 16:30:26 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 16:30: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
[25-Nov-2025 16:30:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:30:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:30:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:30:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:30:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:30:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:30:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:30:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:30:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:30:26 UTC] 📊 Database Info:
[25-Nov-2025 16:30:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:30:26 UTC]    Books columns count: 45
[25-Nov-2025 16:30:26 UTC]    Categories columns count: 7
[25-Nov-2025 16:30:26 UTC]    Language field in books: YES
[25-Nov-2025 16:30:26 UTC]    Format field in books: YES
[25-Nov-2025 16:30:26 UTC]    Description field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:30:26 UTC]    Is_active field in books: YES
[25-Nov-2025 16:30:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:30:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:30:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:30:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:30:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:30:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:30:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:32:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:32:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:32:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32: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 16:32: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 16:32: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 16:32:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:32:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32: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 16:32: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 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32: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 16:32: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 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32: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 16:32: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 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:32:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:32:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:32:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:32:39 UTC] 📊 Database Info:
[25-Nov-2025 16:32:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:32:39 UTC]    Books columns count: 45
[25-Nov-2025 16:32:39 UTC]    Categories columns count: 7
[25-Nov-2025 16:32:39 UTC]    Language field in books: YES
[25-Nov-2025 16:32:39 UTC]    Format field in books: YES
[25-Nov-2025 16:32:39 UTC]    Description field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:32:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:32:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:32:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:32:39 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:32:39 UTC] 📊 Database Info:
[25-Nov-2025 16:32:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:32:39 UTC]    Books columns count: 45
[25-Nov-2025 16:32:39 UTC]    Categories columns count: 7
[25-Nov-2025 16:32:39 UTC]    Language field in books: YES
[25-Nov-2025 16:32:39 UTC]    Format field in books: YES
[25-Nov-2025 16:32:39 UTC]    Description field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:32:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:32:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:32:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:32:39 UTC] 📊 Database Info:
[25-Nov-2025 16:32:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:32:39 UTC]    Books columns count: 45
[25-Nov-2025 16:32:39 UTC]    Categories columns count: 7
[25-Nov-2025 16:32:39 UTC]    Language field in books: YES
[25-Nov-2025 16:32:39 UTC]    Format field in books: YES
[25-Nov-2025 16:32:39 UTC]    Description field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:32:39 UTC]    Is_active field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:32:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:32:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:32:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:32:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:32:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:32:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:32:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:32:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:32:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:32:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:32:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:32:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:32:50 UTC] 📊 Database Info:
[25-Nov-2025 16:32:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:32:50 UTC]    Books columns count: 45
[25-Nov-2025 16:32:50 UTC]    Categories columns count: 7
[25-Nov-2025 16:32:50 UTC]    Language field in books: YES
[25-Nov-2025 16:32:50 UTC]    Format field in books: YES
[25-Nov-2025 16:32:50 UTC]    Description field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Is_active field in books: YES
[25-Nov-2025 16:32:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:32:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:32:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:32:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:32:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:32:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:32:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:32:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:32:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:32:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:32:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:32:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:32:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:32:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:32:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:32:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:32:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:32:50 UTC] 📊 Database Info:
[25-Nov-2025 16:32:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:32:50 UTC]    Books columns count: 45
[25-Nov-2025 16:32:50 UTC]    Categories columns count: 7
[25-Nov-2025 16:32:50 UTC]    Language field in books: YES
[25-Nov-2025 16:32:50 UTC]    Format field in books: YES
[25-Nov-2025 16:32:50 UTC]    Description field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:32:50 UTC]    Is_active field in books: YES
[25-Nov-2025 16:32:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:32:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:32:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:32:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:32:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:32:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:32:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:09 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 16:36: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
[25-Nov-2025 16:36:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:09 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 16:36: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
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 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 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:09 UTC] 📊 Database Info:
[25-Nov-2025 16:36:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:09 UTC]    Books columns count: 45
[25-Nov-2025 16:36:09 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:09 UTC]    Language field in books: YES
[25-Nov-2025 16:36:09 UTC]    Format field in books: YES
[25-Nov-2025 16:36:09 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:36:09 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:09 UTC] 📊 Database Info:
[25-Nov-2025 16:36:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:09 UTC]    Books columns count: 45
[25-Nov-2025 16:36:09 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:09 UTC]    Language field in books: YES
[25-Nov-2025 16:36:09 UTC]    Format field in books: YES
[25-Nov-2025 16:36:09 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:09 UTC] 📊 Database Info:
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:09 UTC]    Books columns count: 45
[25-Nov-2025 16:36:09 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC]    Language field in books: YES
[25-Nov-2025 16:36:09 UTC]    Format field in books: YES
[25-Nov-2025 16:36:09 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:36:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:15 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 16:36: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
[25-Nov-2025 16:36:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:15 UTC] 📊 Database Info:
[25-Nov-2025 16:36:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:15 UTC]    Books columns count: 45
[25-Nov-2025 16:36:15 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:15 UTC]    Language field in books: YES
[25-Nov-2025 16:36:15 UTC]    Format field in books: YES
[25-Nov-2025 16:36:15 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:15 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:16 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 16:36: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
[25-Nov-2025 16:36:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:16 UTC] 📊 Database Info:
[25-Nov-2025 16:36:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:16 UTC]    Books columns count: 45
[25-Nov-2025 16:36:16 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:16 UTC]    Language field in books: YES
[25-Nov-2025 16:36:16 UTC]    Format field in books: YES
[25-Nov-2025 16:36:16 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:16 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:36:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:29 UTC] 📊 Database Info:
[25-Nov-2025 16:36:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:29 UTC]    Books columns count: 45
[25-Nov-2025 16:36:29 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:29 UTC]    Language field in books: YES
[25-Nov-2025 16:36:29 UTC]    Format field in books: YES
[25-Nov-2025 16:36:29 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:29 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:36:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36: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
[25-Nov-2025 16:36:30 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 16:36: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
[25-Nov-2025 16:36:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:30 UTC] 📊 Database Info:
[25-Nov-2025 16:36:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:30 UTC]    Books columns count: 45
[25-Nov-2025 16:36:30 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:30 UTC]    Language field in books: YES
[25-Nov-2025 16:36:30 UTC]    Format field in books: YES
[25-Nov-2025 16:36:30 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:30 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:36:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:36:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:40 UTC] 📊 Database Info:
[25-Nov-2025 16:36:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:40 UTC]    Books columns count: 45
[25-Nov-2025 16:36:40 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:40 UTC]    Language field in books: YES
[25-Nov-2025 16:36:40 UTC]    Format field in books: YES
[25-Nov-2025 16:36:40 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:36:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:36:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:36:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:36:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:36:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:36:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:36:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:36:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:36:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:36:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:36:40 UTC] 📊 Database Info:
[25-Nov-2025 16:36:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:36:40 UTC]    Books columns count: 45
[25-Nov-2025 16:36:40 UTC]    Categories columns count: 7
[25-Nov-2025 16:36:40 UTC]    Language field in books: YES
[25-Nov-2025 16:36:40 UTC]    Format field in books: YES
[25-Nov-2025 16:36:40 UTC]    Description field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:36:40 UTC]    Is_active field in books: YES
[25-Nov-2025 16:36:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:36:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:36:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:36:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:36:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:36:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:37:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:47 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 16:37: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
[25-Nov-2025 16:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:37:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 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 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:37:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:37:47 UTC] 📊 Database Info:
[25-Nov-2025 16:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:37:47 UTC]    Books columns count: 45
[25-Nov-2025 16:37:47 UTC]    Categories columns count: 7
[25-Nov-2025 16:37:47 UTC]    Language field in books: YES
[25-Nov-2025 16:37:47 UTC]    Format field in books: YES
[25-Nov-2025 16:37:47 UTC]    Description field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:37:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:37:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:37:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:37:47 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:47 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 16:37: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
[25-Nov-2025 16:37:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:37:47 UTC] 📊 Database Info:
[25-Nov-2025 16:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:37:47 UTC]    Books columns count: 45
[25-Nov-2025 16:37:47 UTC]    Categories columns count: 7
[25-Nov-2025 16:37:47 UTC]    Language field in books: YES
[25-Nov-2025 16:37:47 UTC]    Format field in books: YES
[25-Nov-2025 16:37:47 UTC]    Description field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:37:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:37:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:37:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:37:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:37:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:37:47 UTC] 📊 Database Info:
[25-Nov-2025 16:37:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:37:47 UTC]    Books columns count: 45
[25-Nov-2025 16:37:47 UTC]    Categories columns count: 7
[25-Nov-2025 16:37:47 UTC]    Language field in books: YES
[25-Nov-2025 16:37:47 UTC]    Format field in books: YES
[25-Nov-2025 16:37:47 UTC]    Description field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:37:47 UTC]    Is_active field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:37:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:37:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:37:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:37:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:37:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:37:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:37:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:57 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 16:37: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
[25-Nov-2025 16:37:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:37:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:37:57 UTC] 📊 Database Info:
[25-Nov-2025 16:37:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:37:57 UTC]    Books columns count: 45
[25-Nov-2025 16:37:57 UTC]    Categories columns count: 7
[25-Nov-2025 16:37:57 UTC]    Language field in books: YES
[25-Nov-2025 16:37:57 UTC]    Format field in books: YES
[25-Nov-2025 16:37:57 UTC]    Description field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Is_active field in books: YES
[25-Nov-2025 16:37:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:37:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:37:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:37:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:37:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37: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
[25-Nov-2025 16:37:57 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 16:37: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
[25-Nov-2025 16:37:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:37:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:37:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:37:57 UTC] 📊 Database Info:
[25-Nov-2025 16:37:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:37:57 UTC]    Books columns count: 45
[25-Nov-2025 16:37:57 UTC]    Categories columns count: 7
[25-Nov-2025 16:37:57 UTC]    Language field in books: YES
[25-Nov-2025 16:37:57 UTC]    Format field in books: YES
[25-Nov-2025 16:37:57 UTC]    Description field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:37:57 UTC]    Is_active field in books: YES
[25-Nov-2025 16:37:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:37:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:37:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:37:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:37:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:44:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44:16 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 16:44: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
[25-Nov-2025 16:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:44:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 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 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 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 16:44: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
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:44:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:44:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:44:16 UTC] 📊 Database Info:
[25-Nov-2025 16:44:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:44:16 UTC]    Books columns count: 45
[25-Nov-2025 16:44:16 UTC]    Categories columns count: 7
[25-Nov-2025 16:44:16 UTC]    Language field in books: YES
[25-Nov-2025 16:44:16 UTC]    Format field in books: YES
[25-Nov-2025 16:44:16 UTC]    Description field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:44:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:44:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:44:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:44:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:44:16 UTC] 📊 Database Info:
[25-Nov-2025 16:44:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:44:16 UTC]    Books columns count: 45
[25-Nov-2025 16:44:16 UTC]    Categories columns count: 7
[25-Nov-2025 16:44:16 UTC]    Language field in books: YES
[25-Nov-2025 16:44:16 UTC]    Format field in books: YES
[25-Nov-2025 16:44:16 UTC]    Description field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:44:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:44:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:44:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:44:16 UTC] 📊 Database Info:
[25-Nov-2025 16:44:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:44:16 UTC]    Books columns count: 45
[25-Nov-2025 16:44:16 UTC]    Categories columns count: 7
[25-Nov-2025 16:44:16 UTC]    Language field in books: YES
[25-Nov-2025 16:44:16 UTC]    Format field in books: YES
[25-Nov-2025 16:44:16 UTC]    Description field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:44:16 UTC]    Is_active field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:44:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:44:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:44:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:44:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:44:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:44:16 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:44:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:44:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44:36 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 16:44: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
[25-Nov-2025 16:44:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:44:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:44:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:44:36 UTC] 📊 Database Info:
[25-Nov-2025 16:44:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:44:36 UTC]    Books columns count: 45
[25-Nov-2025 16:44:36 UTC]    Categories columns count: 7
[25-Nov-2025 16:44:36 UTC]    Language field in books: YES
[25-Nov-2025 16:44:36 UTC]    Format field in books: YES
[25-Nov-2025 16:44:36 UTC]    Description field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Is_active field in books: YES
[25-Nov-2025 16:44:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:44:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:44:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:44:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:44:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:44:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:44:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44: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
[25-Nov-2025 16:44:36 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 16:44: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
[25-Nov-2025 16:44:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:44:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:44:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:44:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:44:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:44:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:44:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:44:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:44:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:44:36 UTC] 📊 Database Info:
[25-Nov-2025 16:44:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:44:36 UTC]    Books columns count: 45
[25-Nov-2025 16:44:36 UTC]    Categories columns count: 7
[25-Nov-2025 16:44:36 UTC]    Language field in books: YES
[25-Nov-2025 16:44:36 UTC]    Format field in books: YES
[25-Nov-2025 16:44:36 UTC]    Description field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:44:36 UTC]    Is_active field in books: YES
[25-Nov-2025 16:44:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:44:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:44:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:44:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:44:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:44:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:44:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:33 UTC] 📊 Database Info:
[25-Nov-2025 16:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:33 UTC]    Books columns count: 45
[25-Nov-2025 16:47:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:33 UTC]    Language field in books: YES
[25-Nov-2025 16:47:33 UTC]    Format field in books: YES
[25-Nov-2025 16:47:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:47:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:47:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:33 UTC] 📊 Database Info:
[25-Nov-2025 16:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:33 UTC]    Books columns count: 45
[25-Nov-2025 16:47:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:33 UTC]    Language field in books: YES
[25-Nov-2025 16:47:33 UTC]    Format field in books: YES
[25-Nov-2025 16:47:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:47:33 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:47:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:33 UTC] 📊 Database Info:
[25-Nov-2025 16:47:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:33 UTC]    Books columns count: 45
[25-Nov-2025 16:47:33 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:33 UTC]    Language field in books: YES
[25-Nov-2025 16:47:33 UTC]    Format field in books: YES
[25-Nov-2025 16:47:33 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:33 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:41 UTC] 📊 Database Info:
[25-Nov-2025 16:47:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:41 UTC]    Books columns count: 45
[25-Nov-2025 16:47:41 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:41 UTC]    Language field in books: YES
[25-Nov-2025 16:47:41 UTC]    Format field in books: YES
[25-Nov-2025 16:47:41 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:41 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:42 UTC] 📊 Database Info:
[25-Nov-2025 16:47:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:42 UTC]    Books columns count: 45
[25-Nov-2025 16:47:42 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:42 UTC]    Language field in books: YES
[25-Nov-2025 16:47:42 UTC]    Format field in books: YES
[25-Nov-2025 16:47:42 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:42 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:45 UTC] 📊 Database Info:
[25-Nov-2025 16:47:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:45 UTC]    Books columns count: 45
[25-Nov-2025 16:47:45 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:45 UTC]    Language field in books: YES
[25-Nov-2025 16:47:45 UTC]    Format field in books: YES
[25-Nov-2025 16:47:45 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:45 UTC] 📊 Database Info:
[25-Nov-2025 16:47:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:45 UTC]    Books columns count: 45
[25-Nov-2025 16:47:45 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:45 UTC]    Language field in books: YES
[25-Nov-2025 16:47:45 UTC]    Format field in books: YES
[25-Nov-2025 16:47:45 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:47:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:47:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:47:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:45 UTC] 📊 Database Info:
[25-Nov-2025 16:47:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:45 UTC]    Books columns count: 45
[25-Nov-2025 16:47:45 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:45 UTC]    Language field in books: YES
[25-Nov-2025 16:47:45 UTC]    Format field in books: YES
[25-Nov-2025 16:47:45 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:45 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16: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
[25-Nov-2025 16:47:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:47:45 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:47:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:47:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:52 UTC] 📊 Database Info:
[25-Nov-2025 16:47:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:52 UTC]    Books columns count: 45
[25-Nov-2025 16:47:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:52 UTC]    Language field in books: YES
[25-Nov-2025 16:47:52 UTC]    Format field in books: YES
[25-Nov-2025 16:47:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 16:47:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:52 UTC] 📊 Database Info:
[25-Nov-2025 16:47:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:52 UTC]    Books columns count: 45
[25-Nov-2025 16:47:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:52 UTC]    Language field in books: YES
[25-Nov-2025 16:47:52 UTC]    Format field in books: YES
[25-Nov-2025 16:47:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 16:47:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47: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
[25-Nov-2025 16:47:55 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 16:47: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
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47: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
[25-Nov-2025 16:47:55 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 16:47: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
[25-Nov-2025 16:47:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:55 UTC] 📊 Database Info:
[25-Nov-2025 16:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:55 UTC]    Books columns count: 45
[25-Nov-2025 16:47:55 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC]    Language field in books: YES
[25-Nov-2025 16:47:55 UTC]    Format field in books: YES
[25-Nov-2025 16:47:55 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47: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
[25-Nov-2025 16:47:55 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 16:47: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
[25-Nov-2025 16:47:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:47:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:47:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:47:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:47:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:55 UTC] 📊 Database Info:
[25-Nov-2025 16:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:55 UTC]    Books columns count: 45
[25-Nov-2025 16:47:55 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:55 UTC]    Language field in books: YES
[25-Nov-2025 16:47:55 UTC]    Format field in books: YES
[25-Nov-2025 16:47:55 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:47:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:47:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:47:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:47:55 UTC] 📊 Database Info:
[25-Nov-2025 16:47:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:47:55 UTC]    Books columns count: 45
[25-Nov-2025 16:47:55 UTC]    Categories columns count: 7
[25-Nov-2025 16:47:55 UTC]    Language field in books: YES
[25-Nov-2025 16:47:55 UTC]    Format field in books: YES
[25-Nov-2025 16:47:55 UTC]    Description field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:47:55 UTC]    Is_active field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:47:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:47:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:47:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:47:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:47:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:47:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:47:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:47:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:48:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:48:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:48:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:48:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:48: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
[25-Nov-2025 16:48:06 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 16:48: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
[25-Nov-2025 16:48:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:48:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:48:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:48:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:48:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:48:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:48:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:48:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:48:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:48:06 UTC] 📊 Database Info:
[25-Nov-2025 16:48:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:48:06 UTC]    Books columns count: 45
[25-Nov-2025 16:48:06 UTC]    Categories columns count: 7
[25-Nov-2025 16:48:06 UTC]    Language field in books: YES
[25-Nov-2025 16:48:06 UTC]    Format field in books: YES
[25-Nov-2025 16:48:06 UTC]    Description field in categories: YES
[25-Nov-2025 16:48:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:48:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:48:06 UTC]    Is_active field in books: YES
[25-Nov-2025 16:48:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:48:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:48:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:48:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:48:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:48:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:48:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:48:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:48:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:48:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:48:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:48:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:48: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 16:48: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 16:48: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 16:48:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:48:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:48:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:48:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:48:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:48:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:48:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:48:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:48:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:48:07 UTC] 📊 Database Info:
[25-Nov-2025 16:48:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:48:07 UTC]    Books columns count: 45
[25-Nov-2025 16:48:07 UTC]    Categories columns count: 7
[25-Nov-2025 16:48:07 UTC]    Language field in books: YES
[25-Nov-2025 16:48:07 UTC]    Format field in books: YES
[25-Nov-2025 16:48:07 UTC]    Description field in categories: YES
[25-Nov-2025 16:48:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:48:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:48:07 UTC]    Is_active field in books: YES
[25-Nov-2025 16:48:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:48:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:48:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:48:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:48:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:48:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:48:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:48:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:50:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50: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
[25-Nov-2025 16:50:49 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 16:50: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
[25-Nov-2025 16:50:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:50:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:50:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:50:49 UTC] 📊 Database Info:
[25-Nov-2025 16:50:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:50:49 UTC]    Books columns count: 45
[25-Nov-2025 16:50:49 UTC]    Categories columns count: 7
[25-Nov-2025 16:50:49 UTC]    Language field in books: YES
[25-Nov-2025 16:50:49 UTC]    Format field in books: YES
[25-Nov-2025 16:50:49 UTC]    Description field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Is_active field in books: YES
[25-Nov-2025 16:50:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:50:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:50:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:50:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:50:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:50:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50: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
[25-Nov-2025 16:50:49 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 16:50: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
[25-Nov-2025 16:50:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:50:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:50:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:50:49 UTC] 📊 Database Info:
[25-Nov-2025 16:50:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:50:49 UTC]    Books columns count: 45
[25-Nov-2025 16:50:49 UTC]    Categories columns count: 7
[25-Nov-2025 16:50:49 UTC]    Language field in books: YES
[25-Nov-2025 16:50:49 UTC]    Format field in books: YES
[25-Nov-2025 16:50:49 UTC]    Description field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:50:49 UTC]    Is_active field in books: YES
[25-Nov-2025 16:50:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:50:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:50:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:50:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:50:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:50:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:50:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50: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
[25-Nov-2025 16:50:52 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 16:50: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
[25-Nov-2025 16:50:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:50:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50: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
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 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 16:50: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
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50: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
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 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 16:50: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
[25-Nov-2025 16:50:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:50:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:50:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:50:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:50:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:50:52 UTC] 📊 Database Info:
[25-Nov-2025 16:50:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:50:52 UTC]    Books columns count: 45
[25-Nov-2025 16:50:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:50:52 UTC]    Language field in books: YES
[25-Nov-2025 16:50:52 UTC]    Format field in books: YES
[25-Nov-2025 16:50:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:50:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:50:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:50:52 UTC] 📊 Database Info:
[25-Nov-2025 16:50:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:50:52 UTC]    Books columns count: 45
[25-Nov-2025 16:50:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:50:52 UTC]    Language field in books: YES
[25-Nov-2025 16:50:52 UTC]    Format field in books: YES
[25-Nov-2025 16:50:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:50:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:50:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:50:52 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:50:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:50:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:50:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:50:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:50:52 UTC] 📊 Database Info:
[25-Nov-2025 16:50:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:50:52 UTC]    Books columns count: 45
[25-Nov-2025 16:50:52 UTC]    Categories columns count: 7
[25-Nov-2025 16:50:52 UTC]    Language field in books: YES
[25-Nov-2025 16:50:52 UTC]    Format field in books: YES
[25-Nov-2025 16:50:52 UTC]    Description field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:50:52 UTC]    Is_active field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:50:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:50:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:50:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:50:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:50:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:50:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:50:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:50:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:51:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:04 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 16:51: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
[25-Nov-2025 16:51:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:04 UTC] 📊 Database Info:
[25-Nov-2025 16:51:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:04 UTC]    Books columns count: 45
[25-Nov-2025 16:51:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:04 UTC]    Language field in books: YES
[25-Nov-2025 16:51:04 UTC]    Format field in books: YES
[25-Nov-2025 16:51:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:04 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 16:51: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
[25-Nov-2025 16:51:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:04 UTC] 📊 Database Info:
[25-Nov-2025 16:51:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:04 UTC]    Books columns count: 45
[25-Nov-2025 16:51:04 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:04 UTC]    Language field in books: YES
[25-Nov-2025 16:51:04 UTC]    Format field in books: YES
[25-Nov-2025 16:51:04 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:04 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:45 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 16:51: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
[25-Nov-2025 16:51:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:45 UTC] 📊 Database Info:
[25-Nov-2025 16:51:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:45 UTC]    Books columns count: 45
[25-Nov-2025 16:51:45 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:45 UTC]    Language field in books: YES
[25-Nov-2025 16:51:45 UTC]    Format field in books: YES
[25-Nov-2025 16:51:45 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:45 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 16:51: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
[25-Nov-2025 16:51:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:45 UTC] 📊 Database Info:
[25-Nov-2025 16:51:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:45 UTC]    Books columns count: 45
[25-Nov-2025 16:51:45 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:45 UTC]    Language field in books: YES
[25-Nov-2025 16:51:45 UTC]    Format field in books: YES
[25-Nov-2025 16:51:45 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:45 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:48 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 16:51: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
[25-Nov-2025 16:51:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:48 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 16:51: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
[25-Nov-2025 16:51:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:48 UTC] 📊 Database Info:
[25-Nov-2025 16:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:48 UTC]    Books columns count: 45
[25-Nov-2025 16:51:48 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:48 UTC]    Language field in books: YES
[25-Nov-2025 16:51:48 UTC]    Format field in books: YES
[25-Nov-2025 16:51:48 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 16:51:48 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:48 UTC] 📊 Database Info:
[25-Nov-2025 16:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:48 UTC]    Books columns count: 45
[25-Nov-2025 16:51:48 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:48 UTC]    Language field in books: YES
[25-Nov-2025 16:51:48 UTC]    Format field in books: YES
[25-Nov-2025 16:51:48 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:48 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 16:51: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
[25-Nov-2025 16:51:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:51:48 UTC] 📊 Database Info:
[25-Nov-2025 16:51:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:51:48 UTC]    Books columns count: 45
[25-Nov-2025 16:51:48 UTC]    Categories columns count: 7
[25-Nov-2025 16:51:48 UTC]    Language field in books: YES
[25-Nov-2025 16:51:48 UTC]    Format field in books: YES
[25-Nov-2025 16:51:48 UTC]    Description field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:51:48 UTC]    Is_active field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:51:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:51:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:51:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:51:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:51:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:51:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 16:51:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 16:51:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 16:51:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:51:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:51:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:51:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:51: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
[25-Nov-2025 16:51:59 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 16:51: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
[25-Nov-2025 16:51:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:51:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:51:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:51:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:51:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:51:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:52:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:52:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:52:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:52:00 UTC] 📊 Database Info:
[25-Nov-2025 16:52:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:52:00 UTC]    Books columns count: 45
[25-Nov-2025 16:52:00 UTC]    Categories columns count: 7
[25-Nov-2025 16:52:00 UTC]    Language field in books: YES
[25-Nov-2025 16:52:00 UTC]    Format field in books: YES
[25-Nov-2025 16:52:00 UTC]    Description field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Is_active field in books: YES
[25-Nov-2025 16:52:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:52:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:52:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:52:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:52:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:52:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:52:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 16:52:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 16:52:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:52:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:52:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:52: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
[25-Nov-2025 16:52:00 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 16:52: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
[25-Nov-2025 16:52:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 16:52:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 16:52:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 16:52:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 16:52:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 16:52:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 16:52:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 16:52:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 16:52:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 16:52:00 UTC] 📊 Database Info:
[25-Nov-2025 16:52:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 16:52:00 UTC]    Books columns count: 45
[25-Nov-2025 16:52:00 UTC]    Categories columns count: 7
[25-Nov-2025 16:52:00 UTC]    Language field in books: YES
[25-Nov-2025 16:52:00 UTC]    Format field in books: YES
[25-Nov-2025 16:52:00 UTC]    Description field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 16:52:00 UTC]    Is_active field in books: YES
[25-Nov-2025 16:52:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 16:52:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 16:52:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 16:52:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 16:52:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:52:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 16:52:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 16:52:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:07:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07: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
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07:23 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 17:07: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
[25-Nov-2025 17:07: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
[25-Nov-2025 17:07:23 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 17:07: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
[25-Nov-2025 17:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07: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
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 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 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07: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
[25-Nov-2025 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:07:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:07:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:07:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:07:23 UTC] 📊 Database Info:
[25-Nov-2025 17:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:07:23 UTC]    Books columns count: 45
[25-Nov-2025 17:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:07:23 UTC]    Language field in books: YES
[25-Nov-2025 17:07:23 UTC]    Format field in books: YES
[25-Nov-2025 17:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:07:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:07:23 UTC] 📊 Database Info:
[25-Nov-2025 17:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:07:23 UTC]    Books columns count: 45
[25-Nov-2025 17:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:07:23 UTC]    Language field in books: YES
[25-Nov-2025 17:07:23 UTC]    Format field in books: YES
[25-Nov-2025 17:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:07:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:07:23 UTC] 📊 Database Info:
[25-Nov-2025 17:07:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:07:23 UTC]    Books columns count: 45
[25-Nov-2025 17:07:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:07:23 UTC]    Language field in books: YES
[25-Nov-2025 17:07:23 UTC]    Format field in books: YES
[25-Nov-2025 17:07:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:07:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:07:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:07:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:07:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:07:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:07:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:07:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:07:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:07:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:07:23 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:07:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:08:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:21 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 17:08: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
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:21 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 17:08: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
[25-Nov-2025 17:08:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 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 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:21 UTC] 📊 Database Info:
[25-Nov-2025 17:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:21 UTC]    Books columns count: 45
[25-Nov-2025 17:08:21 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC]    Language field in books: YES
[25-Nov-2025 17:08:21 UTC]    Format field in books: YES
[25-Nov-2025 17:08:21 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:21 UTC] 📊 Database Info:
[25-Nov-2025 17:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:21 UTC]    Books columns count: 45
[25-Nov-2025 17:08:21 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:21 UTC]    Language field in books: YES
[25-Nov-2025 17:08:21 UTC]    Format field in books: YES
[25-Nov-2025 17:08:21 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] 📊 Database Info:
[25-Nov-2025 17:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:21 UTC]    Books columns count: 45
[25-Nov-2025 17:08:21 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:21 UTC]    Language field in books: YES
[25-Nov-2025 17:08:21 UTC]    Format field in books: YES
[25-Nov-2025 17:08:21 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:21 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:08:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:21 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:08:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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 17:08: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 17:08: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 17:08:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:39 UTC] 📊 Database Info:
[25-Nov-2025 17:08:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:39 UTC]    Books columns count: 45
[25-Nov-2025 17:08:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:39 UTC]    Language field in books: YES
[25-Nov-2025 17:08:39 UTC]    Format field in books: YES
[25-Nov-2025 17:08:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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 17:08: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 17:08: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 17:08:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:39 UTC] 📊 Database Info:
[25-Nov-2025 17:08:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:39 UTC]    Books columns count: 45
[25-Nov-2025 17:08:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:39 UTC]    Language field in books: YES
[25-Nov-2025 17:08:39 UTC]    Format field in books: YES
[25-Nov-2025 17:08:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:52 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 17:08: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
[25-Nov-2025 17:08:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:52 UTC] 📊 Database Info:
[25-Nov-2025 17:08:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:52 UTC]    Books columns count: 45
[25-Nov-2025 17:08:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:52 UTC]    Language field in books: YES
[25-Nov-2025 17:08:52 UTC]    Format field in books: YES
[25-Nov-2025 17:08:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08: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
[25-Nov-2025 17:08:52 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 17:08: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
[25-Nov-2025 17:08:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:52 UTC] 📊 Database Info:
[25-Nov-2025 17:08:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:52 UTC]    Books columns count: 45
[25-Nov-2025 17:08:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:52 UTC]    Language field in books: YES
[25-Nov-2025 17:08:52 UTC]    Format field in books: YES
[25-Nov-2025 17:08:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:08:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:08:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:56 UTC] 📊 Database Info:
[25-Nov-2025 17:08:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:56 UTC]    Books columns count: 45
[25-Nov-2025 17:08:56 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:56 UTC]    Language field in books: YES
[25-Nov-2025 17:08:56 UTC]    Format field in books: YES
[25-Nov-2025 17:08:56 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:56 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:08:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:08:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:08:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:08:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:08:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:08:57 UTC] 📊 Database Info:
[25-Nov-2025 17:08:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:08:57 UTC]    Books columns count: 45
[25-Nov-2025 17:08:57 UTC]    Categories columns count: 7
[25-Nov-2025 17:08:57 UTC]    Language field in books: YES
[25-Nov-2025 17:08:57 UTC]    Format field in books: YES
[25-Nov-2025 17:08:57 UTC]    Description field in categories: YES
[25-Nov-2025 17:08:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:08:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:08:57 UTC]    Is_active field in books: YES
[25-Nov-2025 17:08:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:08:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:08:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:08:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:08:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:09:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09: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
[25-Nov-2025 17:09:52 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 17:09: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
[25-Nov-2025 17:09:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:09:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09: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
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 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 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09: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
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09: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
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 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 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09: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
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:09:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:09:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:09:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:09:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:09:52 UTC] 📊 Database Info:
[25-Nov-2025 17:09:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:09:52 UTC]    Books columns count: 45
[25-Nov-2025 17:09:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:09:52 UTC]    Language field in books: YES
[25-Nov-2025 17:09:52 UTC]    Format field in books: YES
[25-Nov-2025 17:09:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:09:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:09:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:09:52 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:09:52 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:09:52 UTC] 📊 Database Info:
[25-Nov-2025 17:09:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:09:52 UTC]    Books columns count: 45
[25-Nov-2025 17:09:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:09:52 UTC]    Language field in books: YES
[25-Nov-2025 17:09:52 UTC]    Format field in books: YES
[25-Nov-2025 17:09:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:09:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:09:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:09:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:09:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:09:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:09:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:09:52 UTC] 📊 Database Info:
[25-Nov-2025 17:09:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:09:52 UTC]    Books columns count: 45
[25-Nov-2025 17:09:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:09:52 UTC]    Language field in books: YES
[25-Nov-2025 17:09:52 UTC]    Format field in books: YES
[25-Nov-2025 17:09:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:09:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:09:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:09:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:09:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:09:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:09:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:09:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:09:52 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:09:52 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:10:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:10:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:10:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:10:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:10:04 UTC] 📊 Database Info:
[25-Nov-2025 17:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:10:04 UTC]    Books columns count: 45
[25-Nov-2025 17:10:04 UTC]    Categories columns count: 7
[25-Nov-2025 17:10:04 UTC]    Language field in books: YES
[25-Nov-2025 17:10:04 UTC]    Format field in books: YES
[25-Nov-2025 17:10:04 UTC]    Description field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Is_active field in books: YES
[25-Nov-2025 17:10:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:10:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:10:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:10:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:10:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:10:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:10:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:10:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:10:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:10:04 UTC] 📊 Database Info:
[25-Nov-2025 17:10:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:10:04 UTC]    Books columns count: 45
[25-Nov-2025 17:10:04 UTC]    Categories columns count: 7
[25-Nov-2025 17:10:04 UTC]    Language field in books: YES
[25-Nov-2025 17:10:04 UTC]    Format field in books: YES
[25-Nov-2025 17:10:04 UTC]    Description field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:10:04 UTC]    Is_active field in books: YES
[25-Nov-2025 17:10:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:10:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:10:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:10:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:10:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:10:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:10:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:10:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:10:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:10:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:10:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:10:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:10:27 UTC] 📊 Database Info:
[25-Nov-2025 17:10:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:10:27 UTC]    Books columns count: 45
[25-Nov-2025 17:10:27 UTC]    Categories columns count: 7
[25-Nov-2025 17:10:27 UTC]    Language field in books: YES
[25-Nov-2025 17:10:27 UTC]    Format field in books: YES
[25-Nov-2025 17:10:27 UTC]    Description field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Is_active field in books: YES
[25-Nov-2025 17:10:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:10:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:10:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:10:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:10:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:10:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:10:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:10:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:10:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:10:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:10:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:10:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:10:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:10:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:10:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:10:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:10:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:10:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:10:27 UTC] 📊 Database Info:
[25-Nov-2025 17:10:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:10:27 UTC]    Books columns count: 45
[25-Nov-2025 17:10:27 UTC]    Categories columns count: 7
[25-Nov-2025 17:10:27 UTC]    Language field in books: YES
[25-Nov-2025 17:10:27 UTC]    Format field in books: YES
[25-Nov-2025 17:10:27 UTC]    Description field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:10:27 UTC]    Is_active field in books: YES
[25-Nov-2025 17:10:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:10:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:10:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:10:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:10:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:10:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:10:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:11:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:11:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:11:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:11:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:11:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:11:39 UTC] 📊 Database Info:
[25-Nov-2025 17:11:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:11:39 UTC]    Books columns count: 45
[25-Nov-2025 17:11:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:11:39 UTC]    Language field in books: YES
[25-Nov-2025 17:11:39 UTC]    Format field in books: YES
[25-Nov-2025 17:11:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:11:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:11:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:11:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:11:39 UTC] 📊 Database Info:
[25-Nov-2025 17:11:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:11:39 UTC]    Books columns count: 45
[25-Nov-2025 17:11:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:11:39 UTC]    Language field in books: YES
[25-Nov-2025 17:11:39 UTC]    Format field in books: YES
[25-Nov-2025 17:11:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:11:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:11:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:11:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:11:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:11:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:11:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:11:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:11:39 UTC] 📊 Database Info:
[25-Nov-2025 17:11:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:11:39 UTC]    Books columns count: 45
[25-Nov-2025 17:11:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:11:39 UTC]    Language field in books: YES
[25-Nov-2025 17:11:39 UTC]    Format field in books: YES
[25-Nov-2025 17:11:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:11:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:11:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:11:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:11:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:11:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:11:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:11:39 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:11:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:11:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:11:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:11:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:11:49 UTC] 📊 Database Info:
[25-Nov-2025 17:11:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:11:49 UTC]    Books columns count: 45
[25-Nov-2025 17:11:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:11:49 UTC]    Language field in books: YES
[25-Nov-2025 17:11:49 UTC]    Format field in books: YES
[25-Nov-2025 17:11:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:11:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:11:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:11:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:11:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:11:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:11:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:11:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:11:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:11:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:11:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:11:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:11:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:11:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:11:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:11:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:11:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:11:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:11:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:11:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:11:50 UTC] 📊 Database Info:
[25-Nov-2025 17:11:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:11:50 UTC]    Books columns count: 45
[25-Nov-2025 17:11:50 UTC]    Categories columns count: 7
[25-Nov-2025 17:11:50 UTC]    Language field in books: YES
[25-Nov-2025 17:11:50 UTC]    Format field in books: YES
[25-Nov-2025 17:11:50 UTC]    Description field in categories: YES
[25-Nov-2025 17:11:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:11:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:11:50 UTC]    Is_active field in books: YES
[25-Nov-2025 17:11:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:11:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:11:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:11:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:11:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:11:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:11:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12: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
[25-Nov-2025 17:12:40 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 17:12: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
[25-Nov-2025 17:12:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12: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
[25-Nov-2025 17:12: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
[25-Nov-2025 17:12:40 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 17:12: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
[25-Nov-2025 17:12:40 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 17:12: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
[25-Nov-2025 17:12:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:40 UTC] 📊 Database Info:
[25-Nov-2025 17:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:40 UTC]    Books columns count: 45
[25-Nov-2025 17:12:40 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:40 UTC]    Language field in books: YES
[25-Nov-2025 17:12:40 UTC]    Format field in books: YES
[25-Nov-2025 17:12:40 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:12:40 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:40 UTC] 📊 Database Info:
[25-Nov-2025 17:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:40 UTC]    Books columns count: 45
[25-Nov-2025 17:12:40 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:40 UTC]    Language field in books: YES
[25-Nov-2025 17:12:40 UTC]    Format field in books: YES
[25-Nov-2025 17:12:40 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:40 UTC] 📊 Database Info:
[25-Nov-2025 17:12:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:40 UTC]    Books columns count: 45
[25-Nov-2025 17:12:40 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:40 UTC]    Language field in books: YES
[25-Nov-2025 17:12:40 UTC]    Format field in books: YES
[25-Nov-2025 17:12:40 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:40 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:12:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:12:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:12:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:48 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 17:12:48 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 17:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:48 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 17:12:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:48 UTC] 📊 Database Info:
[25-Nov-2025 17:12:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:48 UTC]    Books columns count: 45
[25-Nov-2025 17:12:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:48 UTC]    Language field in books: YES
[25-Nov-2025 17:12:48 UTC]    Format field in books: YES
[25-Nov-2025 17:12:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:48 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12: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
[25-Nov-2025 17:12:49 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 17:12: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
[25-Nov-2025 17:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:49 UTC] 📊 Database Info:
[25-Nov-2025 17:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:49 UTC]    Books columns count: 45
[25-Nov-2025 17:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:49 UTC]    Language field in books: YES
[25-Nov-2025 17:12:49 UTC]    Format field in books: YES
[25-Nov-2025 17:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:56 UTC] 📊 Database Info:
[25-Nov-2025 17:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:56 UTC]    Books columns count: 45
[25-Nov-2025 17:12:56 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:56 UTC]    Language field in books: YES
[25-Nov-2025 17:12:56 UTC]    Format field in books: YES
[25-Nov-2025 17:12:56 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:12:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:12:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:12:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:12:56 UTC] 📊 Database Info:
[25-Nov-2025 17:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:12:56 UTC]    Books columns count: 45
[25-Nov-2025 17:12:56 UTC]    Categories columns count: 7
[25-Nov-2025 17:12:56 UTC]    Language field in books: YES
[25-Nov-2025 17:12:56 UTC]    Format field in books: YES
[25-Nov-2025 17:12:56 UTC]    Description field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:12:56 UTC]    Is_active field in books: YES
[25-Nov-2025 17:12:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:12:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:12:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:12:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13: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
[25-Nov-2025 17:13:08 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 17:13: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
[25-Nov-2025 17:13:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:08 UTC] 📊 Database Info:
[25-Nov-2025 17:13:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:08 UTC]    Books columns count: 45
[25-Nov-2025 17:13:08 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:08 UTC]    Language field in books: YES
[25-Nov-2025 17:13:08 UTC]    Format field in books: YES
[25-Nov-2025 17:13:08 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13: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
[25-Nov-2025 17:13:08 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 17:13: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
[25-Nov-2025 17:13:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:08 UTC] 📊 Database Info:
[25-Nov-2025 17:13:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:08 UTC]    Books columns count: 45
[25-Nov-2025 17:13:08 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:08 UTC]    Language field in books: YES
[25-Nov-2025 17:13:08 UTC]    Format field in books: YES
[25-Nov-2025 17:13:08 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:08 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:13:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:20 UTC] 📊 Database Info:
[25-Nov-2025 17:13:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:20 UTC]    Books columns count: 45
[25-Nov-2025 17:13:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:20 UTC]    Language field in books: YES
[25-Nov-2025 17:13:20 UTC]    Format field in books: YES
[25-Nov-2025 17:13:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:20 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:13:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13: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
[25-Nov-2025 17:13:42 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 17:13: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
[25-Nov-2025 17:13:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:42 UTC] 📊 Database Info:
[25-Nov-2025 17:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:42 UTC]    Books columns count: 45
[25-Nov-2025 17:13:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:42 UTC]    Language field in books: YES
[25-Nov-2025 17:13:42 UTC]    Format field in books: YES
[25-Nov-2025 17:13:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13: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
[25-Nov-2025 17:13:42 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 17:13: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
[25-Nov-2025 17:13:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:42 UTC] 📊 Database Info:
[25-Nov-2025 17:13:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:42 UTC]    Books columns count: 45
[25-Nov-2025 17:13:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:42 UTC]    Language field in books: YES
[25-Nov-2025 17:13:42 UTC]    Format field in books: YES
[25-Nov-2025 17:13:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:13:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:52 UTC] 📊 Database Info:
[25-Nov-2025 17:13:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:52 UTC]    Books columns count: 45
[25-Nov-2025 17:13:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:52 UTC]    Language field in books: YES
[25-Nov-2025 17:13:52 UTC]    Format field in books: YES
[25-Nov-2025 17:13:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:13:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:13:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:13:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13: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
[25-Nov-2025 17:13:53 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 17:13: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
[25-Nov-2025 17:13:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:13:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:13:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:13:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:13:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:13:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:13:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:13:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:13:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:13:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:13:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:13:53 UTC] 📊 Database Info:
[25-Nov-2025 17:13:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:13:53 UTC]    Books columns count: 45
[25-Nov-2025 17:13:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:13:53 UTC]    Language field in books: YES
[25-Nov-2025 17:13:53 UTC]    Format field in books: YES
[25-Nov-2025 17:13:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:13:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:13:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:13:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:13:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:13:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:13:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:13:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:13:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:13:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:13:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:18 UTC] 📊 Database Info:
[25-Nov-2025 17:15:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:18 UTC]    Books columns count: 45
[25-Nov-2025 17:15:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:18 UTC]    Language field in books: YES
[25-Nov-2025 17:15:18 UTC]    Format field in books: YES
[25-Nov-2025 17:15:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:18 UTC] 📊 Database Info:
[25-Nov-2025 17:15:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:18 UTC]    Books columns count: 45
[25-Nov-2025 17:15:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:18 UTC]    Language field in books: YES
[25-Nov-2025 17:15:18 UTC]    Format field in books: YES
[25-Nov-2025 17:15:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:18 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:15:18 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:15:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:18 UTC] 📊 Database Info:
[25-Nov-2025 17:15:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:18 UTC]    Books columns count: 45
[25-Nov-2025 17:15:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:18 UTC]    Language field in books: YES
[25-Nov-2025 17:15:18 UTC]    Format field in books: YES
[25-Nov-2025 17:15:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:18 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:15:18 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:15:18 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:15:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15: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
[25-Nov-2025 17:15:25 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 17:15: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
[25-Nov-2025 17:15:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:25 UTC] 📊 Database Info:
[25-Nov-2025 17:15:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:25 UTC]    Books columns count: 45
[25-Nov-2025 17:15:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:25 UTC]    Language field in books: YES
[25-Nov-2025 17:15:25 UTC]    Format field in books: YES
[25-Nov-2025 17:15:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15: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
[25-Nov-2025 17:15:25 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 17:15: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
[25-Nov-2025 17:15:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:25 UTC] 📊 Database Info:
[25-Nov-2025 17:15:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:25 UTC]    Books columns count: 45
[25-Nov-2025 17:15:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:25 UTC]    Language field in books: YES
[25-Nov-2025 17:15:25 UTC]    Format field in books: YES
[25-Nov-2025 17:15:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:49 UTC] 📊 Database Info:
[25-Nov-2025 17:15:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:49 UTC]    Books columns count: 45
[25-Nov-2025 17:15:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:49 UTC]    Language field in books: YES
[25-Nov-2025 17:15:49 UTC]    Format field in books: YES
[25-Nov-2025 17:15:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:49 UTC] 📊 Database Info:
[25-Nov-2025 17:15:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:49 UTC] 📊 Database Info:
[25-Nov-2025 17:15:49 UTC]    Books columns count: 45
[25-Nov-2025 17:15:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:49 UTC]    Books columns count: 45
[25-Nov-2025 17:15:49 UTC]    Language field in books: YES
[25-Nov-2025 17:15:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:49 UTC]    Format field in books: YES
[25-Nov-2025 17:15:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Language field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Format field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:49 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:49 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:15:49 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:15:49 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:15:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:53 UTC] 📊 Database Info:
[25-Nov-2025 17:15:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:53 UTC]    Books columns count: 45
[25-Nov-2025 17:15:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:53 UTC]    Language field in books: YES
[25-Nov-2025 17:15:53 UTC]    Format field in books: YES
[25-Nov-2025 17:15:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:15:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:15:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:15:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:15:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:15:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:15:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:15:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:15:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:15:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:15:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:15:54 UTC] 📊 Database Info:
[25-Nov-2025 17:15:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:15:54 UTC]    Books columns count: 45
[25-Nov-2025 17:15:54 UTC]    Categories columns count: 7
[25-Nov-2025 17:15:54 UTC]    Language field in books: YES
[25-Nov-2025 17:15:54 UTC]    Format field in books: YES
[25-Nov-2025 17:15:54 UTC]    Description field in categories: YES
[25-Nov-2025 17:15:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:15:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:15:54 UTC]    Is_active field in books: YES
[25-Nov-2025 17:15:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:15:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:15:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:15:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:15:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:15:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:15:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16: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 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16: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 17:16: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 17:16:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16: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 17:16: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 17:16: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 17:16:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16: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 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16: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 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16: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 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:07 UTC] 📊 Database Info:
[25-Nov-2025 17:16:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:07 UTC]    Books columns count: 45
[25-Nov-2025 17:16:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:07 UTC]    Language field in books: YES
[25-Nov-2025 17:16:07 UTC]    Format field in books: YES
[25-Nov-2025 17:16:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:07 UTC] 📊 Database Info:
[25-Nov-2025 17:16:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:07 UTC]    Books columns count: 45
[25-Nov-2025 17:16:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:07 UTC]    Language field in books: YES
[25-Nov-2025 17:16:07 UTC]    Format field in books: YES
[25-Nov-2025 17:16:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:07 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 17:16:07 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 17:16:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:07 UTC] 📊 Database Info:
[25-Nov-2025 17:16:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:07 UTC]    Books columns count: 45
[25-Nov-2025 17:16:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:07 UTC]    Language field in books: YES
[25-Nov-2025 17:16:07 UTC]    Format field in books: YES
[25-Nov-2025 17:16:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:08 UTC] 📊 Database Info:
[25-Nov-2025 17:16:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:08 UTC]    Books columns count: 45
[25-Nov-2025 17:16:08 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:08 UTC]    Language field in books: YES
[25-Nov-2025 17:16:08 UTC]    Format field in books: YES
[25-Nov-2025 17:16:08 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:08 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16: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
[25-Nov-2025 17:16:11 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 17:16: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
[25-Nov-2025 17:16:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:11 UTC] 📊 Database Info:
[25-Nov-2025 17:16:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:11 UTC]    Books columns count: 45
[25-Nov-2025 17:16:11 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:11 UTC]    Language field in books: YES
[25-Nov-2025 17:16:11 UTC]    Format field in books: YES
[25-Nov-2025 17:16:11 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:11 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:16:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:14 UTC] 📊 Database Info:
[25-Nov-2025 17:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:14 UTC]    Books columns count: 45
[25-Nov-2025 17:16:14 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:14 UTC]    Language field in books: YES
[25-Nov-2025 17:16:14 UTC]    Format field in books: YES
[25-Nov-2025 17:16:14 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:14 UTC] 📊 Database Info:
[25-Nov-2025 17:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:14 UTC]    Books columns count: 45
[25-Nov-2025 17:16:14 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:14 UTC]    Language field in books: YES
[25-Nov-2025 17:16:14 UTC]    Format field in books: YES
[25-Nov-2025 17:16:14 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:14 UTC] 📊 Database Info:
[25-Nov-2025 17:16:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:14 UTC]    Books columns count: 45
[25-Nov-2025 17:16:14 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:14 UTC]    Language field in books: YES
[25-Nov-2025 17:16:14 UTC]    Format field in books: YES
[25-Nov-2025 17:16:14 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:14 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:14 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 17:16:14 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 17:16:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:25 UTC] 📊 Database Info:
[25-Nov-2025 17:16:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:25 UTC]    Books columns count: 45
[25-Nov-2025 17:16:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:25 UTC]    Language field in books: YES
[25-Nov-2025 17:16:25 UTC]    Format field in books: YES
[25-Nov-2025 17:16:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:25 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:16:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:16:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:25 UTC] 📊 Database Info:
[25-Nov-2025 17:16:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:25 UTC]    Books columns count: 45
[25-Nov-2025 17:16:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:25 UTC]    Language field in books: YES
[25-Nov-2025 17:16:25 UTC]    Format field in books: YES
[25-Nov-2025 17:16:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:25 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:16:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:29 UTC] 📊 Database Info:
[25-Nov-2025 17:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:29 UTC]    Books columns count: 45
[25-Nov-2025 17:16:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:29 UTC]    Language field in books: YES
[25-Nov-2025 17:16:29 UTC]    Format field in books: YES
[25-Nov-2025 17:16:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:16:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:16:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:16:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:16:29 UTC] 📊 Database Info:
[25-Nov-2025 17:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:16:29 UTC]    Books columns count: 45
[25-Nov-2025 17:16:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:16:29 UTC]    Language field in books: YES
[25-Nov-2025 17:16:29 UTC]    Format field in books: YES
[25-Nov-2025 17:16:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:16:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:16:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:16:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:16:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:16:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:16:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:17:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:17:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:17:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17:27 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 17:17: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
[25-Nov-2025 17:17:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:17:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 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 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 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 17:17: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
[25-Nov-2025 17:17:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:17:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:17:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:17:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:17:27 UTC] 📊 Database Info:
[25-Nov-2025 17:17:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:17:27 UTC]    Books columns count: 45
[25-Nov-2025 17:17:27 UTC]    Categories columns count: 7
[25-Nov-2025 17:17:27 UTC]    Language field in books: YES
[25-Nov-2025 17:17:27 UTC]    Format field in books: YES
[25-Nov-2025 17:17:27 UTC]    Description field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:17:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:17:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:17:27 UTC] 📊 Database Info:
[25-Nov-2025 17:17:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:17:27 UTC]    Books columns count: 45
[25-Nov-2025 17:17:27 UTC]    Categories columns count: 7
[25-Nov-2025 17:17:27 UTC]    Language field in books: YES
[25-Nov-2025 17:17:27 UTC]    Format field in books: YES
[25-Nov-2025 17:17:27 UTC]    Description field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:17:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:17:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:17:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:17:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:17:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:17:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:17:27 UTC] 📊 Database Info:
[25-Nov-2025 17:17:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:17:27 UTC]    Books columns count: 45
[25-Nov-2025 17:17:27 UTC]    Categories columns count: 7
[25-Nov-2025 17:17:27 UTC]    Language field in books: YES
[25-Nov-2025 17:17:27 UTC]    Format field in books: YES
[25-Nov-2025 17:17:27 UTC]    Description field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:17:27 UTC]    Is_active field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:17:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:17:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:17:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:17:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:17:27 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:17:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:17:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17:35 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 17:17: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
[25-Nov-2025 17:17:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:17:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:17:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:17:35 UTC] 📊 Database Info:
[25-Nov-2025 17:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:17:35 UTC]    Books columns count: 45
[25-Nov-2025 17:17:35 UTC]    Categories columns count: 7
[25-Nov-2025 17:17:35 UTC]    Language field in books: YES
[25-Nov-2025 17:17:35 UTC]    Format field in books: YES
[25-Nov-2025 17:17:35 UTC]    Description field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Is_active field in books: YES
[25-Nov-2025 17:17:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:17:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:17:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:17:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:17:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:17:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:17:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17: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
[25-Nov-2025 17:17:35 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 17:17: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
[25-Nov-2025 17:17:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:17:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:17:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:17:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:17:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:17:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:17:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:17:35 UTC] 📊 Database Info:
[25-Nov-2025 17:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:17:35 UTC]    Books columns count: 45
[25-Nov-2025 17:17:35 UTC]    Categories columns count: 7
[25-Nov-2025 17:17:35 UTC]    Language field in books: YES
[25-Nov-2025 17:17:35 UTC]    Format field in books: YES
[25-Nov-2025 17:17:35 UTC]    Description field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:17:35 UTC]    Is_active field in books: YES
[25-Nov-2025 17:17:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:17:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:17:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:17:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:17:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:17:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:22 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 17:20: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
[25-Nov-2025 17:20:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 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 17:20: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
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 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 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:22 UTC] 📊 Database Info:
[25-Nov-2025 17:20:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:22 UTC]    Books columns count: 45
[25-Nov-2025 17:20:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:22 UTC]    Language field in books: YES
[25-Nov-2025 17:20:22 UTC]    Format field in books: YES
[25-Nov-2025 17:20:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:22 UTC] 📊 Database Info:
[25-Nov-2025 17:20:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:22 UTC]    Books columns count: 45
[25-Nov-2025 17:20:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:22 UTC]    Language field in books: YES
[25-Nov-2025 17:20:22 UTC]    Format field in books: YES
[25-Nov-2025 17:20:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:20:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:20:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:20:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:22 UTC] 📊 Database Info:
[25-Nov-2025 17:20:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:22 UTC]    Books columns count: 45
[25-Nov-2025 17:20:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:22 UTC]    Language field in books: YES
[25-Nov-2025 17:20:22 UTC]    Format field in books: YES
[25-Nov-2025 17:20:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:20:22 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:20:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:25 UTC] 📊 Database Info:
[25-Nov-2025 17:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:25 UTC]    Books columns count: 45
[25-Nov-2025 17:20:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:25 UTC]    Language field in books: YES
[25-Nov-2025 17:20:25 UTC]    Format field in books: YES
[25-Nov-2025 17:20:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:25 UTC] 📊 Database Info:
[25-Nov-2025 17:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:25 UTC]    Books columns count: 45
[25-Nov-2025 17:20:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:25 UTC]    Language field in books: YES
[25-Nov-2025 17:20:25 UTC]    Format field in books: YES
[25-Nov-2025 17:20:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:20:25 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:20:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:25 UTC] 📊 Database Info:
[25-Nov-2025 17:20:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:25 UTC]    Books columns count: 45
[25-Nov-2025 17:20:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:25 UTC]    Language field in books: YES
[25-Nov-2025 17:20:25 UTC]    Format field in books: YES
[25-Nov-2025 17:20:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:20:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:20:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:20:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:39 UTC] 📊 Database Info:
[25-Nov-2025 17:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:39 UTC]    Books columns count: 45
[25-Nov-2025 17:20:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:39 UTC]    Language field in books: YES
[25-Nov-2025 17:20:39 UTC]    Format field in books: YES
[25-Nov-2025 17:20:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:39 UTC] 📊 Database Info:
[25-Nov-2025 17:20:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:39 UTC]    Books columns count: 45
[25-Nov-2025 17:20:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:39 UTC]    Language field in books: YES
[25-Nov-2025 17:20:39 UTC]    Format field in books: YES
[25-Nov-2025 17:20:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:46 UTC] 📊 Database Info:
[25-Nov-2025 17:20:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:46 UTC]    Books columns count: 45
[25-Nov-2025 17:20:46 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:46 UTC]    Language field in books: YES
[25-Nov-2025 17:20:46 UTC]    Format field in books: YES
[25-Nov-2025 17:20:46 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:46 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:20:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:47 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 17:20: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
[25-Nov-2025 17:20:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:47 UTC] 📊 Database Info:
[25-Nov-2025 17:20:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:47 UTC]    Books columns count: 45
[25-Nov-2025 17:20:47 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:47 UTC]    Language field in books: YES
[25-Nov-2025 17:20:47 UTC]    Format field in books: YES
[25-Nov-2025 17:20:47 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:47 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:20:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:52 UTC] 📊 Database Info:
[25-Nov-2025 17:20:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:52 UTC]    Books columns count: 45
[25-Nov-2025 17:20:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:52 UTC]    Language field in books: YES
[25-Nov-2025 17:20:52 UTC]    Format field in books: YES
[25-Nov-2025 17:20:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:20:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:20:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20: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
[25-Nov-2025 17:20:52 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 17:20: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
[25-Nov-2025 17:20:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:20:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:20:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:20:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:20:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:20:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:20:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:20:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:20:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:20:52 UTC] 📊 Database Info:
[25-Nov-2025 17:20:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:20:52 UTC]    Books columns count: 45
[25-Nov-2025 17:20:52 UTC]    Categories columns count: 7
[25-Nov-2025 17:20:52 UTC]    Language field in books: YES
[25-Nov-2025 17:20:52 UTC]    Format field in books: YES
[25-Nov-2025 17:20:52 UTC]    Description field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:20:52 UTC]    Is_active field in books: YES
[25-Nov-2025 17:20:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:20:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:20:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:20:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:20:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:20:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:20:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:21:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:21:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21: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
[25-Nov-2025 17:21:09 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 17:21: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
[25-Nov-2025 17:21:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:21:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:21:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:21:09 UTC] 📊 Database Info:
[25-Nov-2025 17:21:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:21:09 UTC]    Books columns count: 45
[25-Nov-2025 17:21:09 UTC]    Categories columns count: 7
[25-Nov-2025 17:21:09 UTC]    Language field in books: YES
[25-Nov-2025 17:21:09 UTC]    Format field in books: YES
[25-Nov-2025 17:21:09 UTC]    Description field in categories: YES
[25-Nov-2025 17:21:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:21:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:21:09 UTC]    Is_active field in books: YES
[25-Nov-2025 17:21:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:21:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:21:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:21:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:21:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:21:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:21:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21: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
[25-Nov-2025 17:21:10 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 17:21: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
[25-Nov-2025 17:21:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:21:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:21:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:21:10 UTC] 📊 Database Info:
[25-Nov-2025 17:21:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:21:10 UTC]    Books columns count: 45
[25-Nov-2025 17:21:10 UTC]    Categories columns count: 7
[25-Nov-2025 17:21:10 UTC]    Language field in books: YES
[25-Nov-2025 17:21:10 UTC]    Format field in books: YES
[25-Nov-2025 17:21:10 UTC]    Description field in categories: YES
[25-Nov-2025 17:21:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:21:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:21:10 UTC]    Is_active field in books: YES
[25-Nov-2025 17:21:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:21:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:21:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:21:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:21:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:21:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:21:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21: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
[25-Nov-2025 17:21:15 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 17:21: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
[25-Nov-2025 17:21:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:21:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:21:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:21:15 UTC] 📊 Database Info:
[25-Nov-2025 17:21:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:21:15 UTC]    Books columns count: 45
[25-Nov-2025 17:21:15 UTC]    Categories columns count: 7
[25-Nov-2025 17:21:15 UTC]    Language field in books: YES
[25-Nov-2025 17:21:15 UTC]    Format field in books: YES
[25-Nov-2025 17:21:15 UTC]    Description field in categories: YES
[25-Nov-2025 17:21:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:21:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:21:15 UTC]    Is_active field in books: YES
[25-Nov-2025 17:21:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:21:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:21:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:21:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:21:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:21:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:21:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21: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
[25-Nov-2025 17:21:16 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 17:21: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
[25-Nov-2025 17:21:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:21:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:21:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:21:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:21:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:21:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:21:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:21:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:21:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:21:16 UTC] 📊 Database Info:
[25-Nov-2025 17:21:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:21:16 UTC]    Books columns count: 45
[25-Nov-2025 17:21:16 UTC]    Categories columns count: 7
[25-Nov-2025 17:21:16 UTC]    Language field in books: YES
[25-Nov-2025 17:21:16 UTC]    Format field in books: YES
[25-Nov-2025 17:21:16 UTC]    Description field in categories: YES
[25-Nov-2025 17:21:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:21:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:21:16 UTC]    Is_active field in books: YES
[25-Nov-2025 17:21:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:21:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:21:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:21:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:21:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:21:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:21:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:22:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:22:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:22:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:22:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:22:39 UTC] 📊 Database Info:
[25-Nov-2025 17:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:22:39 UTC]    Books columns count: 45
[25-Nov-2025 17:22:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:22:39 UTC]    Language field in books: YES
[25-Nov-2025 17:22:39 UTC]    Format field in books: YES
[25-Nov-2025 17:22:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:22:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:22:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:22:39 UTC] 📊 Database Info:
[25-Nov-2025 17:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:22:39 UTC]    Books columns count: 45
[25-Nov-2025 17:22:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:22:39 UTC]    Language field in books: YES
[25-Nov-2025 17:22:39 UTC]    Format field in books: YES
[25-Nov-2025 17:22:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:22:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:22:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:22:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:22:39 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:22:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:22:39 UTC] 📊 Database Info:
[25-Nov-2025 17:22:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:22:39 UTC]    Books columns count: 45
[25-Nov-2025 17:22:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:22:39 UTC]    Language field in books: YES
[25-Nov-2025 17:22:39 UTC]    Format field in books: YES
[25-Nov-2025 17:22:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:22:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:22:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:22:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:22:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:22:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:22:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:22:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:22:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:22:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:22:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22: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
[25-Nov-2025 17:22:56 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 17:22: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
[25-Nov-2025 17:22:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:22:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:22:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:22:56 UTC] 📊 Database Info:
[25-Nov-2025 17:22:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:22:56 UTC]    Books columns count: 45
[25-Nov-2025 17:22:56 UTC]    Categories columns count: 7
[25-Nov-2025 17:22:56 UTC]    Language field in books: YES
[25-Nov-2025 17:22:56 UTC]    Format field in books: YES
[25-Nov-2025 17:22:56 UTC]    Description field in categories: YES
[25-Nov-2025 17:22:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:22:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:22:56 UTC]    Is_active field in books: YES
[25-Nov-2025 17:22:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:22:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:22:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:22:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:22:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:22:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:22:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:22:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:22:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22: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
[25-Nov-2025 17:22:57 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 17:22: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
[25-Nov-2025 17:22:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:22:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:22:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:22:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:22:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:22:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:22:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:22:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:22:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:22:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:22:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:22:57 UTC] 📊 Database Info:
[25-Nov-2025 17:22:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:22:57 UTC]    Books columns count: 45
[25-Nov-2025 17:22:57 UTC]    Categories columns count: 7
[25-Nov-2025 17:22:57 UTC]    Language field in books: YES
[25-Nov-2025 17:22:57 UTC]    Format field in books: YES
[25-Nov-2025 17:22:57 UTC]    Description field in categories: YES
[25-Nov-2025 17:22:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:22:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:22:57 UTC]    Is_active field in books: YES
[25-Nov-2025 17:22:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:22:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:22:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:22:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:22:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:22:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:22:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:22:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:18 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 17:23: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
[25-Nov-2025 17:23:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:18 UTC] 📊 Database Info:
[25-Nov-2025 17:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:18 UTC]    Books columns count: 45
[25-Nov-2025 17:23:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:18 UTC]    Language field in books: YES
[25-Nov-2025 17:23:18 UTC]    Format field in books: YES
[25-Nov-2025 17:23:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:18 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 17:23: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
[25-Nov-2025 17:23:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:18 UTC] 📊 Database Info:
[25-Nov-2025 17:23:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:18 UTC]    Books columns count: 45
[25-Nov-2025 17:23:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:18 UTC]    Language field in books: YES
[25-Nov-2025 17:23:18 UTC]    Format field in books: YES
[25-Nov-2025 17:23:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:21 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 17:23: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
[25-Nov-2025 17:23:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:21 UTC] 📊 Database Info:
[25-Nov-2025 17:23:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:21 UTC]    Books columns count: 45
[25-Nov-2025 17:23:21 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:21 UTC]    Language field in books: YES
[25-Nov-2025 17:23:21 UTC]    Format field in books: YES
[25-Nov-2025 17:23:21 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:21 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:22 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 17:23: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
[25-Nov-2025 17:23:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:22 UTC] 📊 Database Info:
[25-Nov-2025 17:23:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:22 UTC]    Books columns count: 45
[25-Nov-2025 17:23:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:22 UTC]    Language field in books: YES
[25-Nov-2025 17:23:22 UTC]    Format field in books: YES
[25-Nov-2025 17:23:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:32 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 17:23: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
[25-Nov-2025 17:23:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:32 UTC] 📊 Database Info:
[25-Nov-2025 17:23:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:32 UTC]    Books columns count: 45
[25-Nov-2025 17:23:32 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:32 UTC]    Language field in books: YES
[25-Nov-2025 17:23:32 UTC]    Format field in books: YES
[25-Nov-2025 17:23:32 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:32 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:23:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:23:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23: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
[25-Nov-2025 17:23:33 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 17:23: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
[25-Nov-2025 17:23:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:23:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:23:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:23:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:23:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:23:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:23:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:23:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:23:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:23:33 UTC] 📊 Database Info:
[25-Nov-2025 17:23:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:23:33 UTC]    Books columns count: 45
[25-Nov-2025 17:23:33 UTC]    Categories columns count: 7
[25-Nov-2025 17:23:33 UTC]    Language field in books: YES
[25-Nov-2025 17:23:33 UTC]    Format field in books: YES
[25-Nov-2025 17:23:33 UTC]    Description field in categories: YES
[25-Nov-2025 17:23:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:23:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:23:33 UTC]    Is_active field in books: YES
[25-Nov-2025 17:23:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:23:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:23:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:23:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:23:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:23:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:23:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:26:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:26:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:26:51 UTC] 📊 Database Info:
[25-Nov-2025 17:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:26:51 UTC]    Books columns count: 45
[25-Nov-2025 17:26:51 UTC]    Categories columns count: 7
[25-Nov-2025 17:26:51 UTC]    Language field in books: YES
[25-Nov-2025 17:26:51 UTC]    Format field in books: YES
[25-Nov-2025 17:26:51 UTC]    Description field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:26:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:26:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:26:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:26:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:26:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:26:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:26:51 UTC] 📊 Database Info:
[25-Nov-2025 17:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:26:51 UTC]    Books columns count: 45
[25-Nov-2025 17:26:51 UTC]    Categories columns count: 7
[25-Nov-2025 17:26:51 UTC]    Language field in books: YES
[25-Nov-2025 17:26:51 UTC]    Format field in books: YES
[25-Nov-2025 17:26:51 UTC]    Description field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:26:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:26:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:26:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:26:51 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:26:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:26:51 UTC] 📊 Database Info:
[25-Nov-2025 17:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:26:51 UTC]    Books columns count: 45
[25-Nov-2025 17:26:51 UTC]    Categories columns count: 7
[25-Nov-2025 17:26:51 UTC]    Language field in books: YES
[25-Nov-2025 17:26:51 UTC]    Format field in books: YES
[25-Nov-2025 17:26:51 UTC]    Description field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:26:51 UTC]    Is_active field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:26:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:26:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:26:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:26:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:26:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:26:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:26:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:26:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:26:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:26:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:26:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:26:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27: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
[25-Nov-2025 17:27:00 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 17:27: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
[25-Nov-2025 17:27:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:27:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:27:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:27:00 UTC] 📊 Database Info:
[25-Nov-2025 17:27:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:27:00 UTC]    Books columns count: 45
[25-Nov-2025 17:27:00 UTC]    Categories columns count: 7
[25-Nov-2025 17:27:00 UTC]    Language field in books: YES
[25-Nov-2025 17:27:00 UTC]    Format field in books: YES
[25-Nov-2025 17:27:00 UTC]    Description field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Is_active field in books: YES
[25-Nov-2025 17:27:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:27:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:27:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:27:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:27:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:27:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:27:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27: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
[25-Nov-2025 17:27:00 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 17:27: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
[25-Nov-2025 17:27:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:27:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:27:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:27:00 UTC] 📊 Database Info:
[25-Nov-2025 17:27:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:27:00 UTC]    Books columns count: 45
[25-Nov-2025 17:27:00 UTC]    Categories columns count: 7
[25-Nov-2025 17:27:00 UTC]    Language field in books: YES
[25-Nov-2025 17:27:00 UTC]    Format field in books: YES
[25-Nov-2025 17:27:00 UTC]    Description field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:27:00 UTC]    Is_active field in books: YES
[25-Nov-2025 17:27:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:27:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:27:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:27:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:27:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:27:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:27:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27: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
[25-Nov-2025 17:27:06 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 17:27: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
[25-Nov-2025 17:27:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:27:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:27:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:27:06 UTC] 📊 Database Info:
[25-Nov-2025 17:27:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:27:06 UTC]    Books columns count: 45
[25-Nov-2025 17:27:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:27:06 UTC]    Language field in books: YES
[25-Nov-2025 17:27:06 UTC]    Format field in books: YES
[25-Nov-2025 17:27:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:27:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:27:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:27:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:27:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:27:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:27:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:27:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:27:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:27:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:27:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27: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 17:27: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 17:27: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 17:27:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:27:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:27:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:27:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:27:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:27:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:27:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:27:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:27:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:27:07 UTC] 📊 Database Info:
[25-Nov-2025 17:27:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:27:07 UTC]    Books columns count: 45
[25-Nov-2025 17:27:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:27:07 UTC]    Language field in books: YES
[25-Nov-2025 17:27:07 UTC]    Format field in books: YES
[25-Nov-2025 17:27:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:27:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:27:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:27:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:27:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:27:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:27:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:27:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:27:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:27:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:27:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:32:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:04 UTC] 📊 Database Info:
[25-Nov-2025 17:32:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:04 UTC]    Books columns count: 45
[25-Nov-2025 17:32:04 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:04 UTC]    Language field in books: YES
[25-Nov-2025 17:32:04 UTC]    Format field in books: YES
[25-Nov-2025 17:32:04 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:32:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:04 UTC] 📊 Database Info:
[25-Nov-2025 17:32:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:04 UTC]    Books columns count: 45
[25-Nov-2025 17:32:04 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:04 UTC]    Language field in books: YES
[25-Nov-2025 17:32:04 UTC]    Format field in books: YES
[25-Nov-2025 17:32:04 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:04 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:32:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:12 UTC] 📊 Database Info:
[25-Nov-2025 17:32:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:12 UTC]    Books columns count: 45
[25-Nov-2025 17:32:12 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:12 UTC]    Language field in books: YES
[25-Nov-2025 17:32:12 UTC]    Format field in books: YES
[25-Nov-2025 17:32:12 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:32:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:12 UTC] 📊 Database Info:
[25-Nov-2025 17:32:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:12 UTC]    Books columns count: 45
[25-Nov-2025 17:32:12 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:12 UTC]    Language field in books: YES
[25-Nov-2025 17:32:12 UTC]    Format field in books: YES
[25-Nov-2025 17:32:12 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:12 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:32:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:32:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:23 UTC] 📊 Database Info:
[25-Nov-2025 17:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:23 UTC]    Books columns count: 45
[25-Nov-2025 17:32:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:23 UTC]    Language field in books: YES
[25-Nov-2025 17:32:23 UTC]    Format field in books: YES
[25-Nov-2025 17:32:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:32:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:32:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:32:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:32:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:32:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:32:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:32:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:32:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:32:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:32:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:32:23 UTC] 📊 Database Info:
[25-Nov-2025 17:32:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:32:23 UTC]    Books columns count: 45
[25-Nov-2025 17:32:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:32:23 UTC]    Language field in books: YES
[25-Nov-2025 17:32:23 UTC]    Format field in books: YES
[25-Nov-2025 17:32:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:32:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:32:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:32:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:32:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:32:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:32:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:32:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:32:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:29 UTC] 📊 Database Info:
[25-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:29 UTC]    Books columns count: 45
[25-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:29 UTC]    Language field in books: YES
[25-Nov-2025 17:33:29 UTC]    Format field in books: YES
[25-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:33:29 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:29 UTC] 📊 Database Info:
[25-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:29 UTC]    Books columns count: 45
[25-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:29 UTC]    Language field in books: YES
[25-Nov-2025 17:33:29 UTC]    Format field in books: YES
[25-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:33:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:33:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:33:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:29 UTC] 📊 Database Info:
[25-Nov-2025 17:33:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:29 UTC]    Books columns count: 45
[25-Nov-2025 17:33:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:29 UTC]    Language field in books: YES
[25-Nov-2025 17:33:29 UTC]    Format field in books: YES
[25-Nov-2025 17:33:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:32 UTC] 📊 Database Info:
[25-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:32 UTC]    Books columns count: 45
[25-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:32 UTC]    Language field in books: YES
[25-Nov-2025 17:33:32 UTC]    Format field in books: YES
[25-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:33:32 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:32 UTC] 📊 Database Info:
[25-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:32 UTC]    Books columns count: 45
[25-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:32 UTC]    Language field in books: YES
[25-Nov-2025 17:33:32 UTC]    Format field in books: YES
[25-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:32 UTC] 📊 Database Info:
[25-Nov-2025 17:33:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:32 UTC]    Books columns count: 45
[25-Nov-2025 17:33:32 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:32 UTC]    Language field in books: YES
[25-Nov-2025 17:33:32 UTC]    Format field in books: YES
[25-Nov-2025 17:33:32 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:32 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-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
[25-Nov-2025 17:33:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:33:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-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
[25-Nov-2025 17:33:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:33:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:38 UTC] 📊 Database Info:
[25-Nov-2025 17:33:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:38 UTC]    Books columns count: 45
[25-Nov-2025 17:33:38 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:38 UTC]    Language field in books: YES
[25-Nov-2025 17:33:38 UTC]    Format field in books: YES
[25-Nov-2025 17:33:38 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:38 UTC] 📊 Database Info:
[25-Nov-2025 17:33:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:38 UTC]    Books columns count: 45
[25-Nov-2025 17:33:38 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:38 UTC]    Language field in books: YES
[25-Nov-2025 17:33:38 UTC]    Format field in books: YES
[25-Nov-2025 17:33:38 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:38 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:48 UTC] 📊 Database Info:
[25-Nov-2025 17:33:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:48 UTC]    Books columns count: 45
[25-Nov-2025 17:33:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:48 UTC]    Language field in books: YES
[25-Nov-2025 17:33:48 UTC]    Format field in books: YES
[25-Nov-2025 17:33:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:33:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:33:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:33:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:33:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:33:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:33:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:33:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:33:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:33:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:33:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:33:48 UTC] 📊 Database Info:
[25-Nov-2025 17:33:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:33:48 UTC]    Books columns count: 45
[25-Nov-2025 17:33:48 UTC]    Categories columns count: 7
[25-Nov-2025 17:33:48 UTC]    Language field in books: YES
[25-Nov-2025 17:33:48 UTC]    Format field in books: YES
[25-Nov-2025 17:33:48 UTC]    Description field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:33:48 UTC]    Is_active field in books: YES
[25-Nov-2025 17:33:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:33:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:33:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:33:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:33:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:33:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:33:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:34:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:34:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:34:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:34:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:34:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:34:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:34:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:34:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:34:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:34:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:34:53 UTC] 📊 Database Info:
[25-Nov-2025 17:34:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:34:53 UTC]    Books columns count: 45
[25-Nov-2025 17:34:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:34:53 UTC]    Language field in books: YES
[25-Nov-2025 17:34:53 UTC]    Format field in books: YES
[25-Nov-2025 17:34:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:34:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:34:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:34:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:34:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:34:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:34:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:34:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:34:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:34:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:34:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:34:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:34: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
[25-Nov-2025 17:34:53 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 17:34: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
[25-Nov-2025 17:34:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:34:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:34:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:34:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:34:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:34:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:34:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:34:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:34:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:34:53 UTC] 📊 Database Info:
[25-Nov-2025 17:34:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:34:53 UTC]    Books columns count: 45
[25-Nov-2025 17:34:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:34:53 UTC]    Language field in books: YES
[25-Nov-2025 17:34:53 UTC]    Format field in books: YES
[25-Nov-2025 17:34:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:34:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:34:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:34:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:34:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:34:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:34:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:34:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:34:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:34:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:35:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:20 UTC] 📊 Database Info:
[25-Nov-2025 17:35:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:20 UTC]    Books columns count: 45
[25-Nov-2025 17:35:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:20 UTC]    Language field in books: YES
[25-Nov-2025 17:35:20 UTC]    Format field in books: YES
[25-Nov-2025 17:35:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:20 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:35:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 17:35:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:20 UTC] 📊 Database Info:
[25-Nov-2025 17:35:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:20 UTC]    Books columns count: 45
[25-Nov-2025 17:35:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:20 UTC]    Language field in books: YES
[25-Nov-2025 17:35:20 UTC]    Format field in books: YES
[25-Nov-2025 17:35:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:20 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 17:35:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35: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
[25-Nov-2025 17:35:25 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 17:35: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
[25-Nov-2025 17:35:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:25 UTC] 📊 Database Info:
[25-Nov-2025 17:35:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:25 UTC]    Books columns count: 45
[25-Nov-2025 17:35:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:25 UTC]    Language field in books: YES
[25-Nov-2025 17:35:25 UTC]    Format field in books: YES
[25-Nov-2025 17:35:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:35:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35: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
[25-Nov-2025 17:35:25 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 17:35: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
[25-Nov-2025 17:35:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:25 UTC] 📊 Database Info:
[25-Nov-2025 17:35:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:25 UTC]    Books columns count: 45
[25-Nov-2025 17:35:25 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:25 UTC]    Language field in books: YES
[25-Nov-2025 17:35:25 UTC]    Format field in books: YES
[25-Nov-2025 17:35:25 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:25 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:35:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:35:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:35:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:42 UTC] 📊 Database Info:
[25-Nov-2025 17:35:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:42 UTC]    Books columns count: 45
[25-Nov-2025 17:35:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:42 UTC]    Language field in books: YES
[25-Nov-2025 17:35:42 UTC]    Format field in books: YES
[25-Nov-2025 17:35:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:35:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:35:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:35:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:35:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:35:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:35:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:35:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:35:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:35:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:35:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:35:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:35:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:35:42 UTC] 📊 Database Info:
[25-Nov-2025 17:35:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:35:42 UTC]    Books columns count: 45
[25-Nov-2025 17:35:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:35:42 UTC]    Language field in books: YES
[25-Nov-2025 17:35:42 UTC]    Format field in books: YES
[25-Nov-2025 17:35:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:35:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:35:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:35:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:35:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:35:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:35:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:35:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:35:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:36:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:36:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:36:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:36:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:36:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:36:07 UTC] 📊 Database Info:
[25-Nov-2025 17:36:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:36:07 UTC]    Books columns count: 45
[25-Nov-2025 17:36:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:36:07 UTC]    Language field in books: YES
[25-Nov-2025 17:36:07 UTC]    Format field in books: YES
[25-Nov-2025 17:36:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:36:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:36:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:36:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:36:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:36:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:36:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:36:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:36:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:36:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:36:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:36:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:36:07 UTC] 📊 Database Info:
[25-Nov-2025 17:36:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:36:07 UTC]    Books columns count: 45
[25-Nov-2025 17:36:07 UTC]    Categories columns count: 7
[25-Nov-2025 17:36:07 UTC]    Language field in books: YES
[25-Nov-2025 17:36:07 UTC]    Format field in books: YES
[25-Nov-2025 17:36:07 UTC]    Description field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:36:07 UTC]    Is_active field in books: YES
[25-Nov-2025 17:36:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:36:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:36:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:36:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:36:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:36:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:36:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:36:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36: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
[25-Nov-2025 17:36:28 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 17:36: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
[25-Nov-2025 17:36:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:36:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:36:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:36:28 UTC] 📊 Database Info:
[25-Nov-2025 17:36:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:36:28 UTC]    Books columns count: 45
[25-Nov-2025 17:36:28 UTC]    Categories columns count: 7
[25-Nov-2025 17:36:28 UTC]    Language field in books: YES
[25-Nov-2025 17:36:28 UTC]    Format field in books: YES
[25-Nov-2025 17:36:28 UTC]    Description field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Is_active field in books: YES
[25-Nov-2025 17:36:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:36:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:36:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:36:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:36:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:36:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:36:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:36:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36: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
[25-Nov-2025 17:36:28 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 17:36: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
[25-Nov-2025 17:36:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:36:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:36:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:36:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:36:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:36:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:36:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:36:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:36:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:36:28 UTC] 📊 Database Info:
[25-Nov-2025 17:36:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:36:28 UTC]    Books columns count: 45
[25-Nov-2025 17:36:28 UTC]    Categories columns count: 7
[25-Nov-2025 17:36:28 UTC]    Language field in books: YES
[25-Nov-2025 17:36:28 UTC]    Format field in books: YES
[25-Nov-2025 17:36:28 UTC]    Description field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:36:28 UTC]    Is_active field in books: YES
[25-Nov-2025 17:36:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:36:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:36:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:36:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:36:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:36:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:36:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:36:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37: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
[25-Nov-2025 17:37:42 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 17:37: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
[25-Nov-2025 17:37:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:42 UTC] 📊 Database Info:
[25-Nov-2025 17:37:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:42 UTC]    Books columns count: 45
[25-Nov-2025 17:37:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:42 UTC]    Language field in books: YES
[25-Nov-2025 17:37:42 UTC]    Format field in books: YES
[25-Nov-2025 17:37:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37: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
[25-Nov-2025 17:37:42 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 17:37: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
[25-Nov-2025 17:37:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:42 UTC] 📊 Database Info:
[25-Nov-2025 17:37:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:42 UTC]    Books columns count: 45
[25-Nov-2025 17:37:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:42 UTC]    Language field in books: YES
[25-Nov-2025 17:37:42 UTC]    Format field in books: YES
[25-Nov-2025 17:37:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:37:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:46 UTC] 📊 Database Info:
[25-Nov-2025 17:37:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:46 UTC]    Books columns count: 45
[25-Nov-2025 17:37:46 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:46 UTC]    Language field in books: YES
[25-Nov-2025 17:37:46 UTC]    Format field in books: YES
[25-Nov-2025 17:37:46 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:37:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:37:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:46 UTC] 📊 Database Info:
[25-Nov-2025 17:37:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:46 UTC]    Books columns count: 45
[25-Nov-2025 17:37:46 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:46 UTC]    Language field in books: YES
[25-Nov-2025 17:37:46 UTC]    Format field in books: YES
[25-Nov-2025 17:37:46 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:46 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:37:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37: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
[25-Nov-2025 17:37:57 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 17:37: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
[25-Nov-2025 17:37:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:57 UTC] 📊 Database Info:
[25-Nov-2025 17:37:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:57 UTC]    Books columns count: 45
[25-Nov-2025 17:37:57 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:57 UTC]    Language field in books: YES
[25-Nov-2025 17:37:57 UTC]    Format field in books: YES
[25-Nov-2025 17:37:57 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:37:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37: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
[25-Nov-2025 17:37:57 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 17:37: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
[25-Nov-2025 17:37:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:37:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:37:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:37:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:37:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:37:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:37:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:37:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:37:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:37:57 UTC] 📊 Database Info:
[25-Nov-2025 17:37:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:37:57 UTC]    Books columns count: 45
[25-Nov-2025 17:37:57 UTC]    Categories columns count: 7
[25-Nov-2025 17:37:57 UTC]    Language field in books: YES
[25-Nov-2025 17:37:57 UTC]    Format field in books: YES
[25-Nov-2025 17:37:57 UTC]    Description field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:37:57 UTC]    Is_active field in books: YES
[25-Nov-2025 17:37:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:37:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:37:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:37:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:37:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:37:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:38:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:38:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:38:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:38: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 17:38: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 17:38: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 17:38:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:38:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:38:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:38:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:38:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:38:05 UTC] 📊 Database Info:
[25-Nov-2025 17:38:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:38:05 UTC]    Books columns count: 45
[25-Nov-2025 17:38:05 UTC]    Categories columns count: 7
[25-Nov-2025 17:38:05 UTC]    Language field in books: YES
[25-Nov-2025 17:38:05 UTC]    Format field in books: YES
[25-Nov-2025 17:38:05 UTC]    Description field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Is_active field in books: YES
[25-Nov-2025 17:38:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:38:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:38:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:38:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:38:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:38:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:38:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:38:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:38:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:38:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:38: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 17:38: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 17:38: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 17:38:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:38:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:38:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:38:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:38:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:38:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:38:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:38:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:38:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:38:05 UTC] 📊 Database Info:
[25-Nov-2025 17:38:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:38:05 UTC]    Books columns count: 45
[25-Nov-2025 17:38:05 UTC]    Categories columns count: 7
[25-Nov-2025 17:38:05 UTC]    Language field in books: YES
[25-Nov-2025 17:38:05 UTC]    Format field in books: YES
[25-Nov-2025 17:38:05 UTC]    Description field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:38:05 UTC]    Is_active field in books: YES
[25-Nov-2025 17:38:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:38:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:38:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:38:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:38:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:38:05 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:38:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:38:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:39:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:39:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:39:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:39:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:39: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
[25-Nov-2025 17:39:06 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 17:39: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
[25-Nov-2025 17:39:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:39:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:39:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:39:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:39:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:39:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:39:06 UTC] 📊 Database Info:
[25-Nov-2025 17:39:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:39:06 UTC]    Books columns count: 45
[25-Nov-2025 17:39:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:39:06 UTC]    Language field in books: YES
[25-Nov-2025 17:39:06 UTC]    Format field in books: YES
[25-Nov-2025 17:39:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:39:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:39:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:39:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:39:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:39:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:39:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:39:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:39:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:39:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:39:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:39:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:39: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
[25-Nov-2025 17:39:06 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 17:39: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
[25-Nov-2025 17:39:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:39:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:39:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:39:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:39:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:39:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:39:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:39:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:39:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:39:06 UTC] 📊 Database Info:
[25-Nov-2025 17:39:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:39:06 UTC]    Books columns count: 45
[25-Nov-2025 17:39:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:39:06 UTC]    Language field in books: YES
[25-Nov-2025 17:39:06 UTC]    Format field in books: YES
[25-Nov-2025 17:39:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:39:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:39:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:39:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:39:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:39:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:39:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:39:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:39:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:39:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:09 UTC] 📊 Database Info:
[25-Nov-2025 17:41:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:09 UTC]    Books columns count: 45
[25-Nov-2025 17:41:09 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:09 UTC]    Language field in books: YES
[25-Nov-2025 17:41:09 UTC]    Format field in books: YES
[25-Nov-2025 17:41:09 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:09 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41: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
[25-Nov-2025 17:41:10 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 17:41: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
[25-Nov-2025 17:41:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:10 UTC] 📊 Database Info:
[25-Nov-2025 17:41:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:10 UTC]    Books columns count: 45
[25-Nov-2025 17:41:10 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:10 UTC]    Language field in books: YES
[25-Nov-2025 17:41:10 UTC]    Format field in books: YES
[25-Nov-2025 17:41:10 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:10 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:14 UTC] 📊 Database Info:
[25-Nov-2025 17:41:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:14 UTC]    Books columns count: 45
[25-Nov-2025 17:41:14 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:14 UTC]    Language field in books: YES
[25-Nov-2025 17:41:14 UTC]    Format field in books: YES
[25-Nov-2025 17:41:14 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:14 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41: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
[25-Nov-2025 17:41:15 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 17:41: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
[25-Nov-2025 17:41:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:15 UTC] 📊 Database Info:
[25-Nov-2025 17:41:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:15 UTC]    Books columns count: 45
[25-Nov-2025 17:41:15 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:15 UTC]    Language field in books: YES
[25-Nov-2025 17:41:15 UTC]    Format field in books: YES
[25-Nov-2025 17:41:15 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:15 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:18 UTC] 📊 Database Info:
[25-Nov-2025 17:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:18 UTC]    Books columns count: 45
[25-Nov-2025 17:41:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:18 UTC]    Language field in books: YES
[25-Nov-2025 17:41:18 UTC]    Format field in books: YES
[25-Nov-2025 17:41:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:18 UTC] 📊 Database Info:
[25-Nov-2025 17:41:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:18 UTC]    Books columns count: 45
[25-Nov-2025 17:41:18 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:18 UTC]    Language field in books: YES
[25-Nov-2025 17:41:18 UTC]    Format field in books: YES
[25-Nov-2025 17:41:18 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:18 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:38 UTC] 📊 Database Info:
[25-Nov-2025 17:41:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:38 UTC]    Books columns count: 45
[25-Nov-2025 17:41:38 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:38 UTC]    Language field in books: YES
[25-Nov-2025 17:41:38 UTC]    Format field in books: YES
[25-Nov-2025 17:41:38 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:38 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:39 UTC] 📊 Database Info:
[25-Nov-2025 17:41:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:39 UTC]    Books columns count: 45
[25-Nov-2025 17:41:39 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:39 UTC]    Language field in books: YES
[25-Nov-2025 17:41:39 UTC]    Format field in books: YES
[25-Nov-2025 17:41:39 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:39 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:41:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41: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
[25-Nov-2025 17:41:56 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 17:41: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
[25-Nov-2025 17:41:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:56 UTC] 📊 Database Info:
[25-Nov-2025 17:41:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:56 UTC]    Books columns count: 45
[25-Nov-2025 17:41:56 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:56 UTC]    Language field in books: YES
[25-Nov-2025 17:41:56 UTC]    Format field in books: YES
[25-Nov-2025 17:41:56 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:56 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:41:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:41:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41: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
[25-Nov-2025 17:41:57 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 17:41: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
[25-Nov-2025 17:41:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:41:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:41:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:41:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:41:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:41:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:41:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:41:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:41:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:41:57 UTC] 📊 Database Info:
[25-Nov-2025 17:41:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:41:57 UTC]    Books columns count: 45
[25-Nov-2025 17:41:57 UTC]    Categories columns count: 7
[25-Nov-2025 17:41:57 UTC]    Language field in books: YES
[25-Nov-2025 17:41:57 UTC]    Format field in books: YES
[25-Nov-2025 17:41:57 UTC]    Description field in categories: YES
[25-Nov-2025 17:41:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:41:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:41:57 UTC]    Is_active field in books: YES
[25-Nov-2025 17:41:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:41:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:41:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:41:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:41:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:41:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:41:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:42 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 17:42: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
[25-Nov-2025 17:42:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:42 UTC] 📊 Database Info:
[25-Nov-2025 17:42:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:42 UTC]    Books columns count: 45
[25-Nov-2025 17:42:42 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:42 UTC]    Language field in books: YES
[25-Nov-2025 17:42:42 UTC]    Format field in books: YES
[25-Nov-2025 17:42:42 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:42 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:43 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 17:42: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
[25-Nov-2025 17:42:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:43 UTC] 📊 Database Info:
[25-Nov-2025 17:42:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:43 UTC]    Books columns count: 45
[25-Nov-2025 17:42:43 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:43 UTC]    Language field in books: YES
[25-Nov-2025 17:42:43 UTC]    Format field in books: YES
[25-Nov-2025 17:42:43 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:43 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:42:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:50 UTC] 📊 Database Info:
[25-Nov-2025 17:42:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:50 UTC]    Books columns count: 45
[25-Nov-2025 17:42:50 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:50 UTC]    Language field in books: YES
[25-Nov-2025 17:42:50 UTC]    Format field in books: YES
[25-Nov-2025 17:42:50 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:50 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:42:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:42:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:51 UTC] 📊 Database Info:
[25-Nov-2025 17:42:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:51 UTC]    Books columns count: 45
[25-Nov-2025 17:42:51 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:51 UTC]    Language field in books: YES
[25-Nov-2025 17:42:51 UTC]    Format field in books: YES
[25-Nov-2025 17:42:51 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:51 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:42:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:55 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 17:42: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
[25-Nov-2025 17:42:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:55 UTC] 📊 Database Info:
[25-Nov-2025 17:42:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:55 UTC]    Books columns count: 45
[25-Nov-2025 17:42:55 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:55 UTC]    Language field in books: YES
[25-Nov-2025 17:42:55 UTC]    Format field in books: YES
[25-Nov-2025 17:42:55 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:55 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 17:42: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
[25-Nov-2025 17:42:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:55 UTC] 📊 Database Info:
[25-Nov-2025 17:42:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:55 UTC]    Books columns count: 45
[25-Nov-2025 17:42:55 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:55 UTC]    Language field in books: YES
[25-Nov-2025 17:42:55 UTC]    Format field in books: YES
[25-Nov-2025 17:42:55 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:55 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:59 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 17:42: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
[25-Nov-2025 17:42:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:59 UTC] 📊 Database Info:
[25-Nov-2025 17:42:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:59 UTC]    Books columns count: 45
[25-Nov-2025 17:42:59 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:59 UTC]    Language field in books: YES
[25-Nov-2025 17:42:59 UTC]    Format field in books: YES
[25-Nov-2025 17:42:59 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:42:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:42:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42: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
[25-Nov-2025 17:42:59 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 17:42: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
[25-Nov-2025 17:42:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:42:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:42:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:42:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:42:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:42:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:42:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:42:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:42:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:42:59 UTC] 📊 Database Info:
[25-Nov-2025 17:42:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:42:59 UTC]    Books columns count: 45
[25-Nov-2025 17:42:59 UTC]    Categories columns count: 7
[25-Nov-2025 17:42:59 UTC]    Language field in books: YES
[25-Nov-2025 17:42:59 UTC]    Format field in books: YES
[25-Nov-2025 17:42:59 UTC]    Description field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:42:59 UTC]    Is_active field in books: YES
[25-Nov-2025 17:42:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:42:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:42:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:42:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:42:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:42:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:42:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:43:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:43:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:43:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:43:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:43:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:43:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:43:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:43:11 UTC] 📊 Database Info:
[25-Nov-2025 17:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:43:11 UTC]    Books columns count: 45
[25-Nov-2025 17:43:11 UTC]    Categories columns count: 7
[25-Nov-2025 17:43:11 UTC]    Language field in books: YES
[25-Nov-2025 17:43:11 UTC]    Format field in books: YES
[25-Nov-2025 17:43:11 UTC]    Description field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Is_active field in books: YES
[25-Nov-2025 17:43:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:43:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:43:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:43:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:43:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:43:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:43:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:43:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:43:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:43:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:43:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:43:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:43:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:43:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:43:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:43:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:43:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:43:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:43:11 UTC] 📊 Database Info:
[25-Nov-2025 17:43:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:43:11 UTC]    Books columns count: 45
[25-Nov-2025 17:43:11 UTC]    Categories columns count: 7
[25-Nov-2025 17:43:11 UTC]    Language field in books: YES
[25-Nov-2025 17:43:11 UTC]    Format field in books: YES
[25-Nov-2025 17:43:11 UTC]    Description field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:43:11 UTC]    Is_active field in books: YES
[25-Nov-2025 17:43:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:43:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:43:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:43:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:43:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:43:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:43:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:51:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:51:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:28 UTC] 📊 Database Info:
[25-Nov-2025 17:51:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:28 UTC]    Books columns count: 45
[25-Nov-2025 17:51:28 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:28 UTC]    Language field in books: YES
[25-Nov-2025 17:51:28 UTC]    Format field in books: YES
[25-Nov-2025 17:51:28 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:51:28 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:28 UTC] 📊 Database Info:
[25-Nov-2025 17:51:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:28 UTC]    Books columns count: 45
[25-Nov-2025 17:51:28 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:28 UTC]    Language field in books: YES
[25-Nov-2025 17:51:28 UTC]    Format field in books: YES
[25-Nov-2025 17:51:28 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:51:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:51:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:28 UTC] 📊 Database Info:
[25-Nov-2025 17:51:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:28 UTC]    Books columns count: 45
[25-Nov-2025 17:51:28 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:28 UTC]    Language field in books: YES
[25-Nov-2025 17:51:28 UTC]    Format field in books: YES
[25-Nov-2025 17:51:28 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:28 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:36 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 17:51: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
[25-Nov-2025 17:51:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:36 UTC] 📊 Database Info:
[25-Nov-2025 17:51:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:36 UTC]    Books columns count: 45
[25-Nov-2025 17:51:36 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:36 UTC]    Language field in books: YES
[25-Nov-2025 17:51:36 UTC]    Format field in books: YES
[25-Nov-2025 17:51:36 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:36 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 17:51: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
[25-Nov-2025 17:51:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:36 UTC] 📊 Database Info:
[25-Nov-2025 17:51:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:36 UTC]    Books columns count: 45
[25-Nov-2025 17:51:36 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:36 UTC]    Language field in books: YES
[25-Nov-2025 17:51:36 UTC]    Format field in books: YES
[25-Nov-2025 17:51:36 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:36 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:51:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:40 UTC] 📊 Database Info:
[25-Nov-2025 17:51:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:40 UTC]    Books columns count: 45
[25-Nov-2025 17:51:40 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:40 UTC]    Language field in books: YES
[25-Nov-2025 17:51:40 UTC]    Format field in books: YES
[25-Nov-2025 17:51:40 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:40 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:51:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:41 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 17:51: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
[25-Nov-2025 17:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:41 UTC] 📊 Database Info:
[25-Nov-2025 17:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:41 UTC]    Books columns count: 45
[25-Nov-2025 17:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:41 UTC]    Language field in books: YES
[25-Nov-2025 17:51:41 UTC]    Format field in books: YES
[25-Nov-2025 17:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:45 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 17:51: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
[25-Nov-2025 17:51:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:45 UTC] 📊 Database Info:
[25-Nov-2025 17:51:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:45 UTC]    Books columns count: 45
[25-Nov-2025 17:51:45 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:45 UTC]    Language field in books: YES
[25-Nov-2025 17:51:45 UTC]    Format field in books: YES
[25-Nov-2025 17:51:45 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:45 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 17:51: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
[25-Nov-2025 17:51:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:45 UTC] 📊 Database Info:
[25-Nov-2025 17:51:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:45 UTC]    Books columns count: 45
[25-Nov-2025 17:51:45 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:45 UTC]    Language field in books: YES
[25-Nov-2025 17:51:45 UTC]    Format field in books: YES
[25-Nov-2025 17:51:45 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:45 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:49 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 17:51: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
[25-Nov-2025 17:51:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:49 UTC] 📊 Database Info:
[25-Nov-2025 17:51:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:49 UTC]    Books columns count: 45
[25-Nov-2025 17:51:49 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:49 UTC]    Language field in books: YES
[25-Nov-2025 17:51:49 UTC]    Format field in books: YES
[25-Nov-2025 17:51:49 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:49 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:50 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 17:51: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
[25-Nov-2025 17:51:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:50 UTC] 📊 Database Info:
[25-Nov-2025 17:51:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:50 UTC]    Books columns count: 45
[25-Nov-2025 17:51:50 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:50 UTC]    Language field in books: YES
[25-Nov-2025 17:51:50 UTC]    Format field in books: YES
[25-Nov-2025 17:51:50 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:50 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:53 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 17:51: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
[25-Nov-2025 17:51:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:53 UTC] 📊 Database Info:
[25-Nov-2025 17:51:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:53 UTC]    Books columns count: 45
[25-Nov-2025 17:51:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:53 UTC]    Language field in books: YES
[25-Nov-2025 17:51:53 UTC]    Format field in books: YES
[25-Nov-2025 17:51:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:51:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:51:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51: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
[25-Nov-2025 17:51:53 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 17:51: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
[25-Nov-2025 17:51:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:51:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:51:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:51:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:51:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:51:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:51:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:51:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:51:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:51:53 UTC] 📊 Database Info:
[25-Nov-2025 17:51:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:51:53 UTC]    Books columns count: 45
[25-Nov-2025 17:51:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:51:53 UTC]    Language field in books: YES
[25-Nov-2025 17:51:53 UTC]    Format field in books: YES
[25-Nov-2025 17:51:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:51:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:51:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:51:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:51:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:51:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:51:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:51:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:51:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:20 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 17:52: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
[25-Nov-2025 17:52:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:20 UTC] 📊 Database Info:
[25-Nov-2025 17:52:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:20 UTC]    Books columns count: 45
[25-Nov-2025 17:52:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:20 UTC]    Language field in books: YES
[25-Nov-2025 17:52:20 UTC]    Format field in books: YES
[25-Nov-2025 17:52:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:20 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 17:52: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
[25-Nov-2025 17:52:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:20 UTC] 📊 Database Info:
[25-Nov-2025 17:52:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:20 UTC]    Books columns count: 45
[25-Nov-2025 17:52:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:20 UTC]    Language field in books: YES
[25-Nov-2025 17:52:20 UTC]    Format field in books: YES
[25-Nov-2025 17:52:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:23 UTC] 📊 Database Info:
[25-Nov-2025 17:52:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:23 UTC]    Books columns count: 45
[25-Nov-2025 17:52:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:23 UTC]    Language field in books: YES
[25-Nov-2025 17:52:23 UTC]    Format field in books: YES
[25-Nov-2025 17:52:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:23 UTC] 📊 Database Info:
[25-Nov-2025 17:52:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:23 UTC]    Books columns count: 45
[25-Nov-2025 17:52:23 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:23 UTC]    Language field in books: YES
[25-Nov-2025 17:52:23 UTC]    Format field in books: YES
[25-Nov-2025 17:52:23 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:23 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:29 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 17:52: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
[25-Nov-2025 17:52:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:29 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 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 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 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52: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
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:29 UTC] 📊 Database Info:
[25-Nov-2025 17:52:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:29 UTC]    Books columns count: 45
[25-Nov-2025 17:52:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:29 UTC]    Language field in books: YES
[25-Nov-2025 17:52:29 UTC]    Format field in books: YES
[25-Nov-2025 17:52:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:52:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:52:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:29 UTC] 📊 Database Info:
[25-Nov-2025 17:52:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:29 UTC]    Books columns count: 45
[25-Nov-2025 17:52:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:29 UTC]    Language field in books: YES
[25-Nov-2025 17:52:29 UTC]    Format field in books: YES
[25-Nov-2025 17:52:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:29 UTC] 📊 Database Info:
[25-Nov-2025 17:52:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:29 UTC]    Books columns count: 45
[25-Nov-2025 17:52:29 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:29 UTC]    Language field in books: YES
[25-Nov-2025 17:52:29 UTC]    Format field in books: YES
[25-Nov-2025 17:52:29 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:29 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:52:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:52:29 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:44 UTC] 📊 Database Info:
[25-Nov-2025 17:52:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:44 UTC]    Books columns count: 45
[25-Nov-2025 17:52:44 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:44 UTC]    Language field in books: YES
[25-Nov-2025 17:52:44 UTC]    Format field in books: YES
[25-Nov-2025 17:52:44 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:44 UTC] 📊 Database Info:
[25-Nov-2025 17:52:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:44 UTC]    Books columns count: 45
[25-Nov-2025 17:52:44 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:44 UTC]    Language field in books: YES
[25-Nov-2025 17:52:44 UTC]    Format field in books: YES
[25-Nov-2025 17:52:44 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:44 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:53 UTC] 📊 Database Info:
[25-Nov-2025 17:52:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:53 UTC]    Books columns count: 45
[25-Nov-2025 17:52:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:53 UTC]    Language field in books: YES
[25-Nov-2025 17:52:53 UTC]    Format field in books: YES
[25-Nov-2025 17:52:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:52:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:52:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:52:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:52:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:52:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:52:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:52:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:52:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:52:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:52:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:52:53 UTC] 📊 Database Info:
[25-Nov-2025 17:52:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:52:53 UTC]    Books columns count: 45
[25-Nov-2025 17:52:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:52:53 UTC]    Language field in books: YES
[25-Nov-2025 17:52:53 UTC]    Format field in books: YES
[25-Nov-2025 17:52:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:52:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:52:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:52:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:52:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:52:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:52:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:52:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:52:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:53:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:53:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:53:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:53:00 UTC] 📊 Database Info:
[25-Nov-2025 17:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:53:00 UTC]    Books columns count: 45
[25-Nov-2025 17:53:00 UTC]    Categories columns count: 7
[25-Nov-2025 17:53:00 UTC]    Language field in books: YES
[25-Nov-2025 17:53:00 UTC]    Format field in books: YES
[25-Nov-2025 17:53:00 UTC]    Description field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Is_active field in books: YES
[25-Nov-2025 17:53:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:53:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:53:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:53:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:53:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:53:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:53:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:53:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:53:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:53:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:53:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:53:00 UTC] 📊 Database Info:
[25-Nov-2025 17:53:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:53:00 UTC]    Books columns count: 45
[25-Nov-2025 17:53:00 UTC]    Categories columns count: 7
[25-Nov-2025 17:53:00 UTC]    Language field in books: YES
[25-Nov-2025 17:53:00 UTC]    Format field in books: YES
[25-Nov-2025 17:53:00 UTC]    Description field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:53:00 UTC]    Is_active field in books: YES
[25-Nov-2025 17:53:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:53:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:53:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:53:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:53:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:53:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:53:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:53:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53: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
[25-Nov-2025 17:53:06 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 17:53: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
[25-Nov-2025 17:53:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:53:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:53:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:53:06 UTC] 📊 Database Info:
[25-Nov-2025 17:53:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:53:06 UTC]    Books columns count: 45
[25-Nov-2025 17:53:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:53:06 UTC]    Language field in books: YES
[25-Nov-2025 17:53:06 UTC]    Format field in books: YES
[25-Nov-2025 17:53:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:53:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:53:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:53:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:53:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:53:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:53:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:53:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:53:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53: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
[25-Nov-2025 17:53:06 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 17:53: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
[25-Nov-2025 17:53:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:53:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:53:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:53:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:53:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:53:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:53:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:53:06 UTC] 📊 Database Info:
[25-Nov-2025 17:53:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:53:06 UTC]    Books columns count: 45
[25-Nov-2025 17:53:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:53:06 UTC]    Language field in books: YES
[25-Nov-2025 17:53:06 UTC]    Format field in books: YES
[25-Nov-2025 17:53:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:53:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:53:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:53:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:53:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:53:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:53:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:53:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:53:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:06 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 17:54: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
[25-Nov-2025 17:54:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:06 UTC] 📊 Database Info:
[25-Nov-2025 17:54:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:06 UTC]    Books columns count: 45
[25-Nov-2025 17:54:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:06 UTC]    Language field in books: YES
[25-Nov-2025 17:54:06 UTC]    Format field in books: YES
[25-Nov-2025 17:54:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:06 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 17:54: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
[25-Nov-2025 17:54:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:06 UTC] 📊 Database Info:
[25-Nov-2025 17:54:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:06 UTC]    Books columns count: 45
[25-Nov-2025 17:54:06 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:06 UTC]    Language field in books: YES
[25-Nov-2025 17:54:06 UTC]    Format field in books: YES
[25-Nov-2025 17:54:06 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:06 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:20 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 17:54: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
[25-Nov-2025 17:54:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:20 UTC] 📊 Database Info:
[25-Nov-2025 17:54:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:20 UTC]    Books columns count: 45
[25-Nov-2025 17:54:20 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:20 UTC]    Language field in books: YES
[25-Nov-2025 17:54:20 UTC]    Format field in books: YES
[25-Nov-2025 17:54:20 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:20 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:21 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 17:54: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
[25-Nov-2025 17:54:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:21 UTC] 📊 Database Info:
[25-Nov-2025 17:54:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:21 UTC]    Books columns count: 45
[25-Nov-2025 17:54:21 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:21 UTC]    Language field in books: YES
[25-Nov-2025 17:54:21 UTC]    Format field in books: YES
[25-Nov-2025 17:54:21 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:21 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:38 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 17:54: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
[25-Nov-2025 17:54:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:38 UTC] 📊 Database Info:
[25-Nov-2025 17:54:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:38 UTC]    Books columns count: 45
[25-Nov-2025 17:54:38 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:38 UTC]    Language field in books: YES
[25-Nov-2025 17:54:38 UTC]    Format field in books: YES
[25-Nov-2025 17:54:38 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:54:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:54:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54: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
[25-Nov-2025 17:54:38 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 17:54: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
[25-Nov-2025 17:54:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:54:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:54:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:54:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:54:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:54:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:54:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:54:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:54:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:54:38 UTC] 📊 Database Info:
[25-Nov-2025 17:54:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:54:38 UTC]    Books columns count: 45
[25-Nov-2025 17:54:38 UTC]    Categories columns count: 7
[25-Nov-2025 17:54:38 UTC]    Language field in books: YES
[25-Nov-2025 17:54:38 UTC]    Format field in books: YES
[25-Nov-2025 17:54:38 UTC]    Description field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:54:38 UTC]    Is_active field in books: YES
[25-Nov-2025 17:54:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:54:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:54:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:54:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:54:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:54:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:54:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:58:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:58:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:58:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58: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
[25-Nov-2025 17:58:22 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 17:58: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
[25-Nov-2025 17:58:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:58:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58: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
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 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 17:58: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
[25-Nov-2025 17:58: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
[25-Nov-2025 17:58:22 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 17:58: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
[25-Nov-2025 17:58:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:58:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:58:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:58:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:58:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:58:22 UTC] 📊 Database Info:
[25-Nov-2025 17:58:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:58:22 UTC]    Books columns count: 45
[25-Nov-2025 17:58:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:58:22 UTC]    Language field in books: YES
[25-Nov-2025 17:58:22 UTC]    Format field in books: YES
[25-Nov-2025 17:58:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:58:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:58:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:58:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 17:58:22 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:58:22 UTC] 📊 Database Info:
[25-Nov-2025 17:58:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:58:22 UTC]    Books columns count: 45
[25-Nov-2025 17:58:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:58:22 UTC]    Language field in books: YES
[25-Nov-2025 17:58:22 UTC]    Format field in books: YES
[25-Nov-2025 17:58:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:58:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:58:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:58:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:58:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:58:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:58:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:58:22 UTC] 📊 Database Info:
[25-Nov-2025 17:58:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:58:22 UTC]    Books columns count: 45
[25-Nov-2025 17:58:22 UTC]    Categories columns count: 7
[25-Nov-2025 17:58:22 UTC]    Language field in books: YES
[25-Nov-2025 17:58:22 UTC]    Format field in books: YES
[25-Nov-2025 17:58:22 UTC]    Description field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:58:22 UTC]    Is_active field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:58:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:58:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:58:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:58:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:58:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:58:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 17:58:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 17:58:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 17:59:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:59:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:59:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:59:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:59:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:59:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:59:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:59:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:59:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:59:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:59:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:59:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:59:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:59:53 UTC] 📊 Database Info:
[25-Nov-2025 17:59:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:59:53 UTC]    Books columns count: 45
[25-Nov-2025 17:59:53 UTC]    Categories columns count: 7
[25-Nov-2025 17:59:53 UTC]    Language field in books: YES
[25-Nov-2025 17:59:53 UTC]    Format field in books: YES
[25-Nov-2025 17:59:53 UTC]    Description field in categories: YES
[25-Nov-2025 17:59:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:59:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:59:53 UTC]    Is_active field in books: YES
[25-Nov-2025 17:59:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:59:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:59:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:59:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:59:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17: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
[25-Nov-2025 17:59:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:59:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 17:59:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 17:59:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:59:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:59: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
[25-Nov-2025 17:59:54 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 17:59: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
[25-Nov-2025 17:59:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 17:59:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 17:59:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 17:59:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 17:59:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 17:59:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 17:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 17:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 17:59:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 17:59:54 UTC] 📊 Database Info:
[25-Nov-2025 17:59:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 17:59:54 UTC]    Books columns count: 45
[25-Nov-2025 17:59:54 UTC]    Categories columns count: 7
[25-Nov-2025 17:59:54 UTC]    Language field in books: YES
[25-Nov-2025 17:59:54 UTC]    Format field in books: YES
[25-Nov-2025 17:59:54 UTC]    Description field in categories: YES
[25-Nov-2025 17:59:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 17:59:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 17:59:54 UTC]    Is_active field in books: YES
[25-Nov-2025 17:59:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 17:59:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 17:59:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 17:59:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 17:59:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 17:59:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 17:59:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:00:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:00:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:00:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:00:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:00:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:00:02 UTC] 📊 Database Info:
[25-Nov-2025 18:00:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:00:02 UTC]    Books columns count: 45
[25-Nov-2025 18:00:02 UTC]    Categories columns count: 7
[25-Nov-2025 18:00:02 UTC]    Language field in books: YES
[25-Nov-2025 18:00:02 UTC]    Format field in books: YES
[25-Nov-2025 18:00:02 UTC]    Description field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Is_active field in books: YES
[25-Nov-2025 18:00:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:00:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:00:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:00:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:00:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:00:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:00:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:00:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:00:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:00:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:00:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:00:02 UTC] 📊 Database Info:
[25-Nov-2025 18:00:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:00:02 UTC]    Books columns count: 45
[25-Nov-2025 18:00:02 UTC]    Categories columns count: 7
[25-Nov-2025 18:00:02 UTC]    Language field in books: YES
[25-Nov-2025 18:00:02 UTC]    Format field in books: YES
[25-Nov-2025 18:00:02 UTC]    Description field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:00:02 UTC]    Is_active field in books: YES
[25-Nov-2025 18:00:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:00:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:00:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:00:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:00:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:00:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:00:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:00:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00: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
[25-Nov-2025 18:00:12 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 18:00: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
[25-Nov-2025 18:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:00:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:00:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:00:12 UTC] 📊 Database Info:
[25-Nov-2025 18:00:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:00:12 UTC]    Books columns count: 45
[25-Nov-2025 18:00:12 UTC]    Categories columns count: 7
[25-Nov-2025 18:00:12 UTC]    Language field in books: YES
[25-Nov-2025 18:00:12 UTC]    Format field in books: YES
[25-Nov-2025 18:00:12 UTC]    Description field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Is_active field in books: YES
[25-Nov-2025 18:00:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:00:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:00:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:00:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:00:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:00:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:00:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:00:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00: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
[25-Nov-2025 18:00:12 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 18:00: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
[25-Nov-2025 18:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:00:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:00:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:00:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:00:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:00:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:00:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:00:12 UTC] 📊 Database Info:
[25-Nov-2025 18:00:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:00:12 UTC]    Books columns count: 45
[25-Nov-2025 18:00:12 UTC]    Categories columns count: 7
[25-Nov-2025 18:00:12 UTC]    Language field in books: YES
[25-Nov-2025 18:00:12 UTC]    Format field in books: YES
[25-Nov-2025 18:00:12 UTC]    Description field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:00:12 UTC]    Is_active field in books: YES
[25-Nov-2025 18:00:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:00:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:00:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:00:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:00:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:00:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:00:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:01:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:01:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:01:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:01:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:01:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:01:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:01:27 UTC] 📊 Database Info:
[25-Nov-2025 18:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:01:27 UTC]    Books columns count: 45
[25-Nov-2025 18:01:27 UTC]    Categories columns count: 7
[25-Nov-2025 18:01:27 UTC]    Language field in books: YES
[25-Nov-2025 18:01:27 UTC]    Format field in books: YES
[25-Nov-2025 18:01:27 UTC]    Description field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:01:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:01:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:01:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:01:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:01:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:01:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:01:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:01:27 UTC] 📊 Database Info:
[25-Nov-2025 18:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:01:27 UTC]    Books columns count: 45
[25-Nov-2025 18:01:27 UTC]    Categories columns count: 7
[25-Nov-2025 18:01:27 UTC]    Language field in books: YES
[25-Nov-2025 18:01:27 UTC]    Format field in books: YES
[25-Nov-2025 18:01:27 UTC]    Description field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:01:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:01:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:01:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:01:27 UTC] 📊 Database Info:
[25-Nov-2025 18:01:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:01:27 UTC]    Books columns count: 45
[25-Nov-2025 18:01:27 UTC]    Categories columns count: 7
[25-Nov-2025 18:01:27 UTC]    Language field in books: YES
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:27 UTC]    Format field in books: YES
[25-Nov-2025 18:01:27 UTC]    Description field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:01:27 UTC]    Is_active field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:01:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:01:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:01:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:01:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:01:27 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:01:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:01:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:01:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:01:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:01:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:01:46 UTC] 📊 Database Info:
[25-Nov-2025 18:01:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:01:46 UTC]    Books columns count: 45
[25-Nov-2025 18:01:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:01:46 UTC]    Language field in books: YES
[25-Nov-2025 18:01:46 UTC]    Format field in books: YES
[25-Nov-2025 18:01:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:01:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:01:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:01:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:01:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:01:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:01:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:01:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:01:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:01:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:01:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:01:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:01:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:01:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:01:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:01:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:01:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:01:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:01:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:01:47 UTC] 📊 Database Info:
[25-Nov-2025 18:01:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:01:47 UTC]    Books columns count: 45
[25-Nov-2025 18:01:47 UTC]    Categories columns count: 7
[25-Nov-2025 18:01:47 UTC]    Language field in books: YES
[25-Nov-2025 18:01:47 UTC]    Format field in books: YES
[25-Nov-2025 18:01:47 UTC]    Description field in categories: YES
[25-Nov-2025 18:01:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:01:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:01:47 UTC]    Is_active field in books: YES
[25-Nov-2025 18:01:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:01:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:01:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:01:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:01:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:01:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:01:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:02:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:02:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:02:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:02:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:02:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:02:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:02:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:02:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:02:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:02:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:02:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:02:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:02:28 UTC] 📊 Database Info:
[25-Nov-2025 18:02:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:02:28 UTC]    Books columns count: 45
[25-Nov-2025 18:02:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:02:28 UTC]    Language field in books: YES
[25-Nov-2025 18:02:28 UTC]    Format field in books: YES
[25-Nov-2025 18:02:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:02:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:02:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:02:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:02:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:02:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:02:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:02:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:02:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:02:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:02:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:02:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:02:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:02:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:02:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:02:29 UTC] 📊 Database Info:
[25-Nov-2025 18:02:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:02:29 UTC]    Books columns count: 45
[25-Nov-2025 18:02:29 UTC]    Categories columns count: 7
[25-Nov-2025 18:02:29 UTC]    Language field in books: YES
[25-Nov-2025 18:02:29 UTC]    Format field in books: YES
[25-Nov-2025 18:02:29 UTC]    Description field in categories: YES
[25-Nov-2025 18:02:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:02:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:02:29 UTC]    Is_active field in books: YES
[25-Nov-2025 18:02:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:02:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:02:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:02:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:02:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12: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
[25-Nov-2025 18:12:49 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 18:12: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
[25-Nov-2025 18:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:12:49 UTC] 📊 Database Info:
[25-Nov-2025 18:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:12:49 UTC]    Books columns count: 45
[25-Nov-2025 18:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 18:12:49 UTC]    Language field in books: YES
[25-Nov-2025 18:12:49 UTC]    Format field in books: YES
[25-Nov-2025 18:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 18:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12: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
[25-Nov-2025 18:12:49 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 18:12: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
[25-Nov-2025 18:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:12:49 UTC] 📊 Database Info:
[25-Nov-2025 18:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:12:49 UTC]    Books columns count: 45
[25-Nov-2025 18:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 18:12:49 UTC]    Language field in books: YES
[25-Nov-2025 18:12:49 UTC]    Format field in books: YES
[25-Nov-2025 18:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 18:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:12:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18: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
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:12:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:12:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:12:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:12:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:12:56 UTC] 📊 Database Info:
[25-Nov-2025 18:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:12:56 UTC]    Books columns count: 45
[25-Nov-2025 18:12:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:12:56 UTC]    Language field in books: YES
[25-Nov-2025 18:12:56 UTC]    Format field in books: YES
[25-Nov-2025 18:12:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:12:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:12:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:56 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:12:56 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:12:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:12:56 UTC] 📊 Database Info:
[25-Nov-2025 18:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:12:56 UTC]    Books columns count: 45
[25-Nov-2025 18:12:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:12:56 UTC]    Language field in books: YES
[25-Nov-2025 18:12:56 UTC]    Format field in books: YES
[25-Nov-2025 18:12:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:12:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:12:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:12:56 UTC] 📊 Database Info:
[25-Nov-2025 18:12:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:12:56 UTC]    Books columns count: 45
[25-Nov-2025 18:12:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:12:56 UTC]    Language field in books: YES
[25-Nov-2025 18:12:56 UTC]    Format field in books: YES
[25-Nov-2025 18:12:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:12:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:12:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:12:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:12:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:12:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:12:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:12:56 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:12:56 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:12:56 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:13:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13: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
[25-Nov-2025 18:13:00 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 18:13: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
[25-Nov-2025 18:13:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:00 UTC] 📊 Database Info:
[25-Nov-2025 18:13:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:00 UTC]    Books columns count: 45
[25-Nov-2025 18:13:00 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:00 UTC]    Language field in books: YES
[25-Nov-2025 18:13:00 UTC]    Format field in books: YES
[25-Nov-2025 18:13:00 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:13:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13: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
[25-Nov-2025 18:13:00 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 18:13: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
[25-Nov-2025 18:13:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:00 UTC] 📊 Database Info:
[25-Nov-2025 18:13:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:00 UTC]    Books columns count: 45
[25-Nov-2025 18:13:00 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:00 UTC]    Language field in books: YES
[25-Nov-2025 18:13:00 UTC]    Format field in books: YES
[25-Nov-2025 18:13:00 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:00 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:13:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13: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
[25-Nov-2025 18:13:15 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 18:13: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
[25-Nov-2025 18:13:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:15 UTC] 📊 Database Info:
[25-Nov-2025 18:13:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:15 UTC]    Books columns count: 45
[25-Nov-2025 18:13:15 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:15 UTC]    Language field in books: YES
[25-Nov-2025 18:13:15 UTC]    Format field in books: YES
[25-Nov-2025 18:13:15 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:13:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13: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
[25-Nov-2025 18:13:15 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 18:13: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
[25-Nov-2025 18:13:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:15 UTC] 📊 Database Info:
[25-Nov-2025 18:13:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:15 UTC]    Books columns count: 45
[25-Nov-2025 18:13:15 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:15 UTC]    Language field in books: YES
[25-Nov-2025 18:13:15 UTC]    Format field in books: YES
[25-Nov-2025 18:13:15 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:15 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:13:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:13:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:22 UTC] 📊 Database Info:
[25-Nov-2025 18:13:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:22 UTC]    Books columns count: 45
[25-Nov-2025 18:13:22 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:22 UTC]    Language field in books: YES
[25-Nov-2025 18:13:22 UTC]    Format field in books: YES
[25-Nov-2025 18:13:22 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:22 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:13:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:13:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:13:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13: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
[25-Nov-2025 18:13:37 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 18:13: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
[25-Nov-2025 18:13:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:13:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:13:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:13:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:13:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:13:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:13:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:13:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:13:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:13:37 UTC] 📊 Database Info:
[25-Nov-2025 18:13:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:13:37 UTC]    Books columns count: 45
[25-Nov-2025 18:13:37 UTC]    Categories columns count: 7
[25-Nov-2025 18:13:37 UTC]    Language field in books: YES
[25-Nov-2025 18:13:37 UTC]    Format field in books: YES
[25-Nov-2025 18:13:37 UTC]    Description field in categories: YES
[25-Nov-2025 18:13:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:13:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:13:37 UTC]    Is_active field in books: YES
[25-Nov-2025 18:13:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:13:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:13:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:13:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:13:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:13:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:13:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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 18:14: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 18:14: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 18:14:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:07 UTC] 📊 Database Info:
[25-Nov-2025 18:14:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:07 UTC]    Books columns count: 45
[25-Nov-2025 18:14:07 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:07 UTC]    Language field in books: YES
[25-Nov-2025 18:14:07 UTC]    Format field in books: YES
[25-Nov-2025 18:14:07 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:07 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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
[25-Nov-2025 18:14:08 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 18:14: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
[25-Nov-2025 18:14:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:08 UTC] 📊 Database Info:
[25-Nov-2025 18:14:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:08 UTC]    Books columns count: 45
[25-Nov-2025 18:14:08 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:08 UTC]    Language field in books: YES
[25-Nov-2025 18:14:08 UTC]    Format field in books: YES
[25-Nov-2025 18:14:08 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:08 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:13 UTC] 📊 Database Info:
[25-Nov-2025 18:14:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:13 UTC]    Books columns count: 45
[25-Nov-2025 18:14:13 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:13 UTC]    Language field in books: YES
[25-Nov-2025 18:14:13 UTC]    Format field in books: YES
[25-Nov-2025 18:14:13 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:13 UTC] 📊 Database Info:
[25-Nov-2025 18:14:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:13 UTC]    Books columns count: 45
[25-Nov-2025 18:14:13 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:13 UTC]    Language field in books: YES
[25-Nov-2025 18:14:13 UTC]    Format field in books: YES
[25-Nov-2025 18:14:13 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:13 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:17 UTC] 📊 Database Info:
[25-Nov-2025 18:14:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:17 UTC]    Books columns count: 45
[25-Nov-2025 18:14:17 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:17 UTC]    Language field in books: YES
[25-Nov-2025 18:14:17 UTC]    Format field in books: YES
[25-Nov-2025 18:14:17 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:17 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:18 UTC] 📊 Database Info:
[25-Nov-2025 18:14:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:18 UTC]    Books columns count: 45
[25-Nov-2025 18:14:18 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:18 UTC]    Language field in books: YES
[25-Nov-2025 18:14:18 UTC]    Format field in books: YES
[25-Nov-2025 18:14:18 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:18 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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
[25-Nov-2025 18:14:32 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 18:14: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
[25-Nov-2025 18:14:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:32 UTC] 📊 Database Info:
[25-Nov-2025 18:14:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:32 UTC]    Books columns count: 45
[25-Nov-2025 18:14:32 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:32 UTC]    Language field in books: YES
[25-Nov-2025 18:14:32 UTC]    Format field in books: YES
[25-Nov-2025 18:14:32 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:32 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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
[25-Nov-2025 18:14:33 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 18:14: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
[25-Nov-2025 18:14:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:33 UTC] 📊 Database Info:
[25-Nov-2025 18:14:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:33 UTC]    Books columns count: 45
[25-Nov-2025 18:14:33 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:33 UTC]    Language field in books: YES
[25-Nov-2025 18:14:33 UTC]    Format field in books: YES
[25-Nov-2025 18:14:33 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:33 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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
[25-Nov-2025 18:14:38 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 18:14: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
[25-Nov-2025 18:14:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:38 UTC] 📊 Database Info:
[25-Nov-2025 18:14:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:38 UTC]    Books columns count: 45
[25-Nov-2025 18:14:38 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:38 UTC]    Language field in books: YES
[25-Nov-2025 18:14:38 UTC]    Format field in books: YES
[25-Nov-2025 18:14:38 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14: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
[25-Nov-2025 18:14:38 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 18:14: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
[25-Nov-2025 18:14:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:38 UTC] 📊 Database Info:
[25-Nov-2025 18:14:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:38 UTC]    Books columns count: 45
[25-Nov-2025 18:14:38 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:38 UTC]    Language field in books: YES
[25-Nov-2025 18:14:38 UTC]    Format field in books: YES
[25-Nov-2025 18:14:38 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:38 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:14:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:42 UTC] 📊 Database Info:
[25-Nov-2025 18:14:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:42 UTC]    Books columns count: 45
[25-Nov-2025 18:14:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:42 UTC]    Language field in books: YES
[25-Nov-2025 18:14:42 UTC]    Format field in books: YES
[25-Nov-2025 18:14:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:14:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:14:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:14:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:14:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:14:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:14:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:14:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:14:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:14:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:14:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:14:42 UTC] 📊 Database Info:
[25-Nov-2025 18:14:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:14:42 UTC]    Books columns count: 45
[25-Nov-2025 18:14:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:14:42 UTC]    Language field in books: YES
[25-Nov-2025 18:14:42 UTC]    Format field in books: YES
[25-Nov-2025 18:14:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:14:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:14:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:14:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:14:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:14:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:14:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:14:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:14:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:19:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:19:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:19:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19: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
[25-Nov-2025 18:19:55 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 18:19: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
[25-Nov-2025 18:19:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:19:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:19:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19: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
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:55 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 18:19: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
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19: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
[25-Nov-2025 18:19:55 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 18:19:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19: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
[25-Nov-2025 18:19:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:19:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:19:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:19:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:19:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:19:55 UTC] 📊 Database Info:
[25-Nov-2025 18:19:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:19:55 UTC]    Books columns count: 45
[25-Nov-2025 18:19:55 UTC]    Categories columns count: 7
[25-Nov-2025 18:19:55 UTC]    Language field in books: YES
[25-Nov-2025 18:19:55 UTC]    Format field in books: YES
[25-Nov-2025 18:19:55 UTC]    Description field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:19:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:19:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:19:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:19:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:19:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:19:55 UTC] 📊 Database Info:
[25-Nov-2025 18:19:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:19:55 UTC]    Books columns count: 45
[25-Nov-2025 18:19:55 UTC]    Categories columns count: 7
[25-Nov-2025 18:19:55 UTC]    Language field in books: YES
[25-Nov-2025 18:19:55 UTC]    Format field in books: YES
[25-Nov-2025 18:19:55 UTC]    Description field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:19:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:19:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:19:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:19:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:19:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:19:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:19:55 UTC] 📊 Database Info:
[25-Nov-2025 18:19:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:19:55 UTC]    Books columns count: 45
[25-Nov-2025 18:19:55 UTC]    Categories columns count: 7
[25-Nov-2025 18:19:55 UTC]    Language field in books: YES
[25-Nov-2025 18:19:55 UTC]    Format field in books: YES
[25-Nov-2025 18:19:55 UTC]    Description field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:19:55 UTC]    Is_active field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:19:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:19:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:19:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:19:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:19:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:19:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:19:55 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:20:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:20:04 UTC] 📊 Database Info:
[25-Nov-2025 18:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:20:04 UTC]    Books columns count: 45
[25-Nov-2025 18:20:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:20:04 UTC]    Language field in books: YES
[25-Nov-2025 18:20:04 UTC]    Format field in books: YES
[25-Nov-2025 18:20:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:20:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:20:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:20:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:20:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:20:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:20:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:20:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:20:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:20:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:20:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:20:04 UTC] 📊 Database Info:
[25-Nov-2025 18:20:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:20:04 UTC]    Books columns count: 45
[25-Nov-2025 18:20:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:20:04 UTC]    Language field in books: YES
[25-Nov-2025 18:20:04 UTC]    Format field in books: YES
[25-Nov-2025 18:20:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:20:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:20:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:20:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:20:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:20:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:20:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:20:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:20:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:20:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20: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
[25-Nov-2025 18:20:14 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 18:20: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
[25-Nov-2025 18:20:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:20:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:20:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:20:14 UTC] 📊 Database Info:
[25-Nov-2025 18:20:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:20:14 UTC]    Books columns count: 45
[25-Nov-2025 18:20:14 UTC]    Categories columns count: 7
[25-Nov-2025 18:20:14 UTC]    Language field in books: YES
[25-Nov-2025 18:20:14 UTC]    Format field in books: YES
[25-Nov-2025 18:20:14 UTC]    Description field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Is_active field in books: YES
[25-Nov-2025 18:20:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:20:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:20:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:20:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:20:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:20:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:20:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:20:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20: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
[25-Nov-2025 18:20:14 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 18:20: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
[25-Nov-2025 18:20:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:20:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:20:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:20:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:20:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:20:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:20:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:20:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:20:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:20:14 UTC] 📊 Database Info:
[25-Nov-2025 18:20:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:20:14 UTC]    Books columns count: 45
[25-Nov-2025 18:20:14 UTC]    Categories columns count: 7
[25-Nov-2025 18:20:14 UTC]    Language field in books: YES
[25-Nov-2025 18:20:14 UTC]    Format field in books: YES
[25-Nov-2025 18:20:14 UTC]    Description field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:20:14 UTC]    Is_active field in books: YES
[25-Nov-2025 18:20:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:20:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:20:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:20:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:20:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:20:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:20:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:20:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:21:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:21:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:21:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:21:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:21:25 UTC] 📊 Database Info:
[25-Nov-2025 18:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:21:25 UTC]    Books columns count: 45
[25-Nov-2025 18:21:25 UTC]    Categories columns count: 7
[25-Nov-2025 18:21:25 UTC]    Language field in books: YES
[25-Nov-2025 18:21:25 UTC]    Format field in books: YES
[25-Nov-2025 18:21:25 UTC]    Description field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Is_active field in books: YES
[25-Nov-2025 18:21:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:21:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:21:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:21:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:21:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:21:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:21:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:21:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:21:25 UTC] 📊 Database Info:
[25-Nov-2025 18:21:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:21:25 UTC]    Books columns count: 45
[25-Nov-2025 18:21:25 UTC]    Categories columns count: 7
[25-Nov-2025 18:21:25 UTC]    Language field in books: YES
[25-Nov-2025 18:21:25 UTC]    Format field in books: YES
[25-Nov-2025 18:21:25 UTC]    Description field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:21:25 UTC]    Is_active field in books: YES
[25-Nov-2025 18:21:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:21:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:21:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:21:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:21:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:21:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:21:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:21:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:21:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:21:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:21:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:21:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:21:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:21:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:21:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:21:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:21:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:21:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:21:34 UTC] 📊 Database Info:
[25-Nov-2025 18:21:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:21:34 UTC]    Books columns count: 45
[25-Nov-2025 18:21:34 UTC]    Categories columns count: 7
[25-Nov-2025 18:21:34 UTC]    Language field in books: YES
[25-Nov-2025 18:21:34 UTC]    Format field in books: YES
[25-Nov-2025 18:21:34 UTC]    Description field in categories: YES
[25-Nov-2025 18:21:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:21:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:21:34 UTC]    Is_active field in books: YES
[25-Nov-2025 18:21:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:21:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:21:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:21:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:21:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:21:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:21:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:22:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:22:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:22:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:22:41 UTC] 📊 Database Info:
[25-Nov-2025 18:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:22:41 UTC] 📊 Database Info:
[25-Nov-2025 18:22:41 UTC]    Books columns count: 45
[25-Nov-2025 18:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 18:22:41 UTC]    Books columns count: 45
[25-Nov-2025 18:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 18:22:41 UTC]    Language field in books: YES
[25-Nov-2025 18:22:41 UTC]    Format field in books: YES
[25-Nov-2025 18:22:41 UTC]    Language field in books: YES
[25-Nov-2025 18:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Format field in books: YES
[25-Nov-2025 18:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 18:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:22:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:22:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:22:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:22:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:22:41 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:22:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:22:41 UTC] 📊 Database Info:
[25-Nov-2025 18:22:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:22:41 UTC]    Books columns count: 45
[25-Nov-2025 18:22:41 UTC]    Categories columns count: 7
[25-Nov-2025 18:22:41 UTC]    Language field in books: YES
[25-Nov-2025 18:22:41 UTC]    Format field in books: YES
[25-Nov-2025 18:22:41 UTC]    Description field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:22:41 UTC]    Is_active field in books: YES
[25-Nov-2025 18:22:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:22:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:22:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:22:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:22:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:22:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:22:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22: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
[25-Nov-2025 18:22:46 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 18:22: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
[25-Nov-2025 18:22:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:22:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:22:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:22:46 UTC] 📊 Database Info:
[25-Nov-2025 18:22:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:22:46 UTC]    Books columns count: 45
[25-Nov-2025 18:22:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:22:46 UTC]    Language field in books: YES
[25-Nov-2025 18:22:46 UTC]    Format field in books: YES
[25-Nov-2025 18:22:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:22:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:22:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:22:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:22:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:22:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:22:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:22:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:22:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22: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
[25-Nov-2025 18:22:46 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 18:22: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
[25-Nov-2025 18:22:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:22:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:22:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:22:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:22:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:22:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:22:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:22:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:22:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:22:46 UTC] 📊 Database Info:
[25-Nov-2025 18:22:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:22:46 UTC]    Books columns count: 45
[25-Nov-2025 18:22:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:22:46 UTC]    Language field in books: YES
[25-Nov-2025 18:22:46 UTC]    Format field in books: YES
[25-Nov-2025 18:22:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:22:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:22:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:22:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:22:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:22:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:22:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:22:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:22:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:22:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:23:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:23:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:23:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23: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
[25-Nov-2025 18:23:20 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 18:23: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
[25-Nov-2025 18:23:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:23:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23: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
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 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 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23: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
[25-Nov-2025 18:23: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
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 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 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23: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
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:23:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:23:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:23:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:23:20 UTC] 📊 Database Info:
[25-Nov-2025 18:23:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:23:20 UTC]    Books columns count: 45
[25-Nov-2025 18:23:20 UTC]    Categories columns count: 7
[25-Nov-2025 18:23:20 UTC]    Language field in books: YES
[25-Nov-2025 18:23:20 UTC]    Format field in books: YES
[25-Nov-2025 18:23:20 UTC]    Description field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:23:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:23:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:23:20 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:23:20 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:23:20 UTC] 📊 Database Info:
[25-Nov-2025 18:23:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:23:20 UTC]    Books columns count: 45
[25-Nov-2025 18:23:20 UTC]    Categories columns count: 7
[25-Nov-2025 18:23:20 UTC]    Language field in books: YES
[25-Nov-2025 18:23:20 UTC]    Format field in books: YES
[25-Nov-2025 18:23:20 UTC]    Description field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:23:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:23:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:23:20 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:23:20 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:23:20 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:23:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:23:20 UTC] 📊 Database Info:
[25-Nov-2025 18:23:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:23:20 UTC]    Books columns count: 45
[25-Nov-2025 18:23:20 UTC]    Categories columns count: 7
[25-Nov-2025 18:23:20 UTC]    Language field in books: YES
[25-Nov-2025 18:23:20 UTC]    Format field in books: YES
[25-Nov-2025 18:23:20 UTC]    Description field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:23:20 UTC]    Is_active field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:23:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:23:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:23:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:23:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:24:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:24:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:24:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:24:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:24:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:24:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:24:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:24:33 UTC] 📊 Database Info:
[25-Nov-2025 18:24:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:24:33 UTC]    Books columns count: 45
[25-Nov-2025 18:24:33 UTC]    Categories columns count: 7
[25-Nov-2025 18:24:33 UTC]    Language field in books: YES
[25-Nov-2025 18:24:33 UTC]    Format field in books: YES
[25-Nov-2025 18:24:33 UTC]    Description field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:24:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:24:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:24:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:24:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:24:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:24:33 UTC] 📊 Database Info:
[25-Nov-2025 18:24:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:24:33 UTC]    Books columns count: 45
[25-Nov-2025 18:24:33 UTC]    Categories columns count: 7
[25-Nov-2025 18:24:33 UTC]    Language field in books: YES
[25-Nov-2025 18:24:33 UTC]    Format field in books: YES
[25-Nov-2025 18:24:33 UTC]    Description field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:24:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:24:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:24:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:24:33 UTC] 📊 Database Info:
[25-Nov-2025 18:24:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:24:33 UTC]    Books columns count: 45
[25-Nov-2025 18:24:33 UTC]    Categories columns count: 7
[25-Nov-2025 18:24:33 UTC]    Language field in books: YES
[25-Nov-2025 18:24:33 UTC]    Format field in books: YES
[25-Nov-2025 18:24:33 UTC]    Description field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:24:33 UTC]    Is_active field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:24:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:24:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:24:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:24:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:24:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:24:33 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:24:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:24:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24: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
[25-Nov-2025 18:24:45 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 18:24: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
[25-Nov-2025 18:24:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:24:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:24:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:24:45 UTC] 📊 Database Info:
[25-Nov-2025 18:24:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:24:45 UTC]    Books columns count: 45
[25-Nov-2025 18:24:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:24:45 UTC]    Language field in books: YES
[25-Nov-2025 18:24:45 UTC]    Format field in books: YES
[25-Nov-2025 18:24:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:24:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:24:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:24:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:24:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:24:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:24:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:24:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:24:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:24:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:24:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:24:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:24:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:24:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:24:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:24:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:24:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:24:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:24:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:24:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:24:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:24:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:24:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:24:53 UTC] 📊 Database Info:
[25-Nov-2025 18:24:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:24:53 UTC]    Books columns count: 45
[25-Nov-2025 18:24:53 UTC]    Categories columns count: 7
[25-Nov-2025 18:24:53 UTC]    Language field in books: YES
[25-Nov-2025 18:24:53 UTC]    Format field in books: YES
[25-Nov-2025 18:24:53 UTC]    Description field in categories: YES
[25-Nov-2025 18:24:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:24:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:24:53 UTC]    Is_active field in books: YES
[25-Nov-2025 18:24:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:24:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:24:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:24:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:24:53 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:24:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:24:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:28:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:28:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:28:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:28:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:28:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:28:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:28:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:28:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:28:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:28:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:28:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:28:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:28:55 UTC] 📊 Database Info:
[25-Nov-2025 18:28:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:28:55 UTC]    Books columns count: 45
[25-Nov-2025 18:28:55 UTC]    Categories columns count: 7
[25-Nov-2025 18:28:55 UTC]    Language field in books: YES
[25-Nov-2025 18:28:55 UTC]    Format field in books: YES
[25-Nov-2025 18:28:55 UTC]    Description field in categories: YES
[25-Nov-2025 18:28:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:28:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:28:55 UTC]    Is_active field in books: YES
[25-Nov-2025 18:28:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:28:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:28:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:28:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:28:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:28:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:28:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:29:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:29:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:29:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:29:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:29:00 UTC] 📊 Database Info:
[25-Nov-2025 18:29:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:29:00 UTC]    Books columns count: 45
[25-Nov-2025 18:29:00 UTC]    Categories columns count: 7
[25-Nov-2025 18:29:00 UTC]    Language field in books: YES
[25-Nov-2025 18:29:00 UTC]    Format field in books: YES
[25-Nov-2025 18:29:00 UTC]    Description field in categories: YES
[25-Nov-2025 18:29:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:29:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:29:00 UTC]    Is_active field in books: YES
[25-Nov-2025 18:29:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:29:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:29:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:29:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:29:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:29:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:29:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29: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
[25-Nov-2025 18:29:52 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 18:29: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
[25-Nov-2025 18:29:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:29:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:29:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:29:53 UTC] 📊 Database Info:
[25-Nov-2025 18:29:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:29:53 UTC]    Books columns count: 45
[25-Nov-2025 18:29:53 UTC]    Categories columns count: 7
[25-Nov-2025 18:29:53 UTC]    Language field in books: YES
[25-Nov-2025 18:29:53 UTC]    Format field in books: YES
[25-Nov-2025 18:29:53 UTC]    Description field in categories: YES
[25-Nov-2025 18:29:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:29:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:29:53 UTC]    Is_active field in books: YES
[25-Nov-2025 18:29:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:29:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:29:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:29:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:29:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:29:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:29:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:29:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:29:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:29:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:29:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:29:57 UTC] 📊 Database Info:
[25-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:29:57 UTC]    Books columns count: 45
[25-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:29:57 UTC]    Language field in books: YES
[25-Nov-2025 18:29:57 UTC]    Format field in books: YES
[25-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:29:57 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:29:57 UTC] 📊 Database Info:
[25-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:29:57 UTC]    Books columns count: 45
[25-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:29:57 UTC]    Language field in books: YES
[25-Nov-2025 18:29:57 UTC]    Format field in books: YES
[25-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:29:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:29:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:29:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:29:57 UTC] 📊 Database Info:
[25-Nov-2025 18:29:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:29:57 UTC]    Books columns count: 45
[25-Nov-2025 18:29:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:29:57 UTC]    Language field in books: YES
[25-Nov-2025 18:29:57 UTC]    Format field in books: YES
[25-Nov-2025 18:29:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:29:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:29:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:29:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:29:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:29:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:29:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:29:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:29:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:29:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:30:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:30:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:30:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:30:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:30:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:30:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:30:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:30:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:30: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
[25-Nov-2025 18:30:03 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 18:30: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
[25-Nov-2025 18:30:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:30:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:30:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:30:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:30:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:30:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:30:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:30:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:30:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:30:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:30:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:30:03 UTC] 📊 Database Info:
[25-Nov-2025 18:30:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:30:03 UTC]    Books columns count: 45
[25-Nov-2025 18:30:03 UTC]    Categories columns count: 7
[25-Nov-2025 18:30:03 UTC]    Language field in books: YES
[25-Nov-2025 18:30:03 UTC]    Format field in books: YES
[25-Nov-2025 18:30:03 UTC]    Description field in categories: YES
[25-Nov-2025 18:30:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:30:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:30:03 UTC]    Is_active field in books: YES
[25-Nov-2025 18:30:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:30:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:30:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:30:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:30:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:30:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:30:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:30:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:32:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:32:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:32:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:32:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:32: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
[25-Nov-2025 18:32:24 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 18:32: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
[25-Nov-2025 18:32:24 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:32:24 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:32:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:32:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:32:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:32:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:32:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:32:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:32:24 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:32:24 UTC] 📊 Database Info:
[25-Nov-2025 18:32:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:32:24 UTC]    Books columns count: 45
[25-Nov-2025 18:32:24 UTC]    Categories columns count: 7
[25-Nov-2025 18:32:24 UTC]    Language field in books: YES
[25-Nov-2025 18:32:24 UTC]    Format field in books: YES
[25-Nov-2025 18:32:24 UTC]    Description field in categories: YES
[25-Nov-2025 18:32:24 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:32:24 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:32:24 UTC]    Is_active field in books: YES
[25-Nov-2025 18:32:24 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:32:24 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:32:24 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:32:24 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:32:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:32:24 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:32:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:32:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35: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
[25-Nov-2025 18:35:23 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 18:35: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
[25-Nov-2025 18:35:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35: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
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 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 18:35: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
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 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 18:35: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
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35: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
[25-Nov-2025 18:35:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:23 UTC] 📊 Database Info:
[25-Nov-2025 18:35:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:23 UTC]    Books columns count: 45
[25-Nov-2025 18:35:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:23 UTC]    Language field in books: YES
[25-Nov-2025 18:35:23 UTC]    Format field in books: YES
[25-Nov-2025 18:35:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:23 UTC] 📊 Database Info:
[25-Nov-2025 18:35:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:23 UTC]    Books columns count: 45
[25-Nov-2025 18:35:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:23 UTC]    Language field in books: YES
[25-Nov-2025 18:35:23 UTC]    Format field in books: YES
[25-Nov-2025 18:35:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:35:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:35:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:35:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:23 UTC] 📊 Database Info:
[25-Nov-2025 18:35:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:23 UTC]    Books columns count: 45
[25-Nov-2025 18:35:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:23 UTC]    Language field in books: YES
[25-Nov-2025 18:35:23 UTC]    Format field in books: YES
[25-Nov-2025 18:35:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:35:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:35:23 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:35:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:28 UTC] 📊 Database Info:
[25-Nov-2025 18:35:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:28 UTC]    Books columns count: 45
[25-Nov-2025 18:35:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:28 UTC]    Language field in books: YES
[25-Nov-2025 18:35:28 UTC]    Format field in books: YES
[25-Nov-2025 18:35:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:29 UTC] 📊 Database Info:
[25-Nov-2025 18:35:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:29 UTC]    Books columns count: 45
[25-Nov-2025 18:35:29 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:29 UTC]    Language field in books: YES
[25-Nov-2025 18:35:29 UTC]    Format field in books: YES
[25-Nov-2025 18:35:29 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:29 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:34 UTC] 📊 Database Info:
[25-Nov-2025 18:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:34 UTC]    Books columns count: 45
[25-Nov-2025 18:35:34 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:34 UTC]    Language field in books: YES
[25-Nov-2025 18:35:34 UTC]    Format field in books: YES
[25-Nov-2025 18:35:34 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:35:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:35:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:35:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:35:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:35:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:35:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:35:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:35:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:35:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:35:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:35:34 UTC] 📊 Database Info:
[25-Nov-2025 18:35:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:35:34 UTC]    Books columns count: 45
[25-Nov-2025 18:35:34 UTC]    Categories columns count: 7
[25-Nov-2025 18:35:34 UTC]    Language field in books: YES
[25-Nov-2025 18:35:34 UTC]    Format field in books: YES
[25-Nov-2025 18:35:34 UTC]    Description field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:35:34 UTC]    Is_active field in books: YES
[25-Nov-2025 18:35:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:35:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:35:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:35:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:35:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:35:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:35:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:04 UTC] 📊 Database Info:
[25-Nov-2025 18:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:04 UTC]    Books columns count: 45
[25-Nov-2025 18:36:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:04 UTC]    Language field in books: YES
[25-Nov-2025 18:36:04 UTC]    Format field in books: YES
[25-Nov-2025 18:36:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:04 UTC] 📊 Database Info:
[25-Nov-2025 18:36:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:04 UTC]    Books columns count: 45
[25-Nov-2025 18:36:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:04 UTC]    Language field in books: YES
[25-Nov-2025 18:36:04 UTC]    Format field in books: YES
[25-Nov-2025 18:36:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:14 UTC] 📊 Database Info:
[25-Nov-2025 18:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:14 UTC]    Books columns count: 45
[25-Nov-2025 18:36:14 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:14 UTC]    Language field in books: YES
[25-Nov-2025 18:36:14 UTC]    Format field in books: YES
[25-Nov-2025 18:36:14 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:14 UTC] 📊 Database Info:
[25-Nov-2025 18:36:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:14 UTC]    Books columns count: 45
[25-Nov-2025 18:36:14 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:14 UTC]    Language field in books: YES
[25-Nov-2025 18:36:14 UTC]    Format field in books: YES
[25-Nov-2025 18:36:14 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:14 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:30 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 18:36: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
[25-Nov-2025 18:36:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:30 UTC] 📊 Database Info:
[25-Nov-2025 18:36:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:30 UTC]    Books columns count: 45
[25-Nov-2025 18:36:30 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:30 UTC]    Language field in books: YES
[25-Nov-2025 18:36:30 UTC]    Format field in books: YES
[25-Nov-2025 18:36:30 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:30 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:31 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 18:36: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
[25-Nov-2025 18:36:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:31 UTC] 📊 Database Info:
[25-Nov-2025 18:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:31 UTC]    Books columns count: 45
[25-Nov-2025 18:36:31 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:31 UTC]    Language field in books: YES
[25-Nov-2025 18:36:31 UTC]    Format field in books: YES
[25-Nov-2025 18:36:31 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:31 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:37 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 18:36: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
[25-Nov-2025 18:36:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:37 UTC] 📊 Database Info:
[25-Nov-2025 18:36:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:37 UTC]    Books columns count: 45
[25-Nov-2025 18:36:37 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:37 UTC]    Language field in books: YES
[25-Nov-2025 18:36:37 UTC]    Format field in books: YES
[25-Nov-2025 18:36:37 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:37 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 18:36: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
[25-Nov-2025 18:36:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:37 UTC] 📊 Database Info:
[25-Nov-2025 18:36:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:37 UTC]    Books columns count: 45
[25-Nov-2025 18:36:37 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:37 UTC]    Language field in books: YES
[25-Nov-2025 18:36:37 UTC]    Format field in books: YES
[25-Nov-2025 18:36:37 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:37 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:42 UTC] 📊 Database Info:
[25-Nov-2025 18:36:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:42 UTC]    Books columns count: 45
[25-Nov-2025 18:36:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:42 UTC]    Language field in books: YES
[25-Nov-2025 18:36:42 UTC]    Format field in books: YES
[25-Nov-2025 18:36:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:42 UTC] 📊 Database Info:
[25-Nov-2025 18:36:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:42 UTC]    Books columns count: 45
[25-Nov-2025 18:36:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:42 UTC]    Language field in books: YES
[25-Nov-2025 18:36:42 UTC]    Format field in books: YES
[25-Nov-2025 18:36:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:47 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 18:36: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
[25-Nov-2025 18:36:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:47 UTC] 📊 Database Info:
[25-Nov-2025 18:36:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:47 UTC]    Books columns count: 45
[25-Nov-2025 18:36:47 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:47 UTC]    Language field in books: YES
[25-Nov-2025 18:36:47 UTC]    Format field in books: YES
[25-Nov-2025 18:36:47 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:47 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 18:36: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
[25-Nov-2025 18:36:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:47 UTC] 📊 Database Info:
[25-Nov-2025 18:36:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:47 UTC]    Books columns count: 45
[25-Nov-2025 18:36:47 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:47 UTC]    Language field in books: YES
[25-Nov-2025 18:36:47 UTC]    Format field in books: YES
[25-Nov-2025 18:36:47 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:47 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:54 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 18:36: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
[25-Nov-2025 18:36:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:54 UTC] 📊 Database Info:
[25-Nov-2025 18:36:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:54 UTC]    Books columns count: 45
[25-Nov-2025 18:36:54 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:54 UTC]    Language field in books: YES
[25-Nov-2025 18:36:54 UTC]    Format field in books: YES
[25-Nov-2025 18:36:54 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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
[25-Nov-2025 18:36:54 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 18:36: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
[25-Nov-2025 18:36:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:54 UTC] 📊 Database Info:
[25-Nov-2025 18:36:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:54 UTC]    Books columns count: 45
[25-Nov-2025 18:36:54 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:54 UTC]    Language field in books: YES
[25-Nov-2025 18:36:54 UTC]    Format field in books: YES
[25-Nov-2025 18:36:54 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:54 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:36:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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 18:36: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 18:36: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 18:36:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:58 UTC] 📊 Database Info:
[25-Nov-2025 18:36:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:58 UTC]    Books columns count: 45
[25-Nov-2025 18:36:58 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:58 UTC]    Language field in books: YES
[25-Nov-2025 18:36:58 UTC]    Format field in books: YES
[25-Nov-2025 18:36:58 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:36:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:36:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36: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 18:36: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 18:36: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 18:36:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:36:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:36:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:36:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:36:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:36:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:36:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:36:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:36:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:36:58 UTC] 📊 Database Info:
[25-Nov-2025 18:36:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:36:58 UTC]    Books columns count: 45
[25-Nov-2025 18:36:58 UTC]    Categories columns count: 7
[25-Nov-2025 18:36:58 UTC]    Language field in books: YES
[25-Nov-2025 18:36:58 UTC]    Format field in books: YES
[25-Nov-2025 18:36:58 UTC]    Description field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:36:58 UTC]    Is_active field in books: YES
[25-Nov-2025 18:36:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:36:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:36:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:36:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:36:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:36:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:36:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:37:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:37:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:37: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
[25-Nov-2025 18:37:15 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 18:37: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
[25-Nov-2025 18:37:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:37:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:37:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:37:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:37:16 UTC] 📊 Database Info:
[25-Nov-2025 18:37:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:37:16 UTC]    Books columns count: 45
[25-Nov-2025 18:37:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:37:16 UTC]    Language field in books: YES
[25-Nov-2025 18:37:16 UTC]    Format field in books: YES
[25-Nov-2025 18:37:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:37:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:37:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:37:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:37:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:37:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:37:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:37:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:37:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:37:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:37:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:37:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:37:16 UTC] 📊 Database Info:
[25-Nov-2025 18:37:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:37:16 UTC]    Books columns count: 45
[25-Nov-2025 18:37:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:37:16 UTC]    Language field in books: YES
[25-Nov-2025 18:37:16 UTC]    Format field in books: YES
[25-Nov-2025 18:37:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:37:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:37:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:37:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:37:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:37:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:37:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:37:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:37:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:37:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:37:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:37:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:37:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:37:45 UTC] 📊 Database Info:
[25-Nov-2025 18:37:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:37:45 UTC]    Books columns count: 45
[25-Nov-2025 18:37:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:37:45 UTC]    Language field in books: YES
[25-Nov-2025 18:37:45 UTC]    Format field in books: YES
[25-Nov-2025 18:37:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:37:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:37:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:37:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:37:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:37:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:37:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:37:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:37:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:37:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:37:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:37:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:37:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:37:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:37:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:37:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:37:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:37:45 UTC] 📊 Database Info:
[25-Nov-2025 18:37:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:37:45 UTC]    Books columns count: 45
[25-Nov-2025 18:37:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:37:45 UTC]    Language field in books: YES
[25-Nov-2025 18:37:45 UTC]    Format field in books: YES
[25-Nov-2025 18:37:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:37:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:37:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:37:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:37:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:37:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:37:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:37:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:37:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:03 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 18:38: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
[25-Nov-2025 18:38:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:03 UTC] 📊 Database Info:
[25-Nov-2025 18:38:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:03 UTC]    Books columns count: 45
[25-Nov-2025 18:38:03 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:03 UTC]    Language field in books: YES
[25-Nov-2025 18:38:03 UTC]    Format field in books: YES
[25-Nov-2025 18:38:03 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:03 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:04 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 18:38: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
[25-Nov-2025 18:38:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:04 UTC] 📊 Database Info:
[25-Nov-2025 18:38:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:04 UTC]    Books columns count: 45
[25-Nov-2025 18:38:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:04 UTC]    Language field in books: YES
[25-Nov-2025 18:38:04 UTC]    Format field in books: YES
[25-Nov-2025 18:38:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:09 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 18:38: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
[25-Nov-2025 18:38:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:09 UTC] 📊 Database Info:
[25-Nov-2025 18:38:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:09 UTC]    Books columns count: 45
[25-Nov-2025 18:38:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:09 UTC]    Language field in books: YES
[25-Nov-2025 18:38:09 UTC]    Format field in books: YES
[25-Nov-2025 18:38:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:09 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 18:38: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
[25-Nov-2025 18:38:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:09 UTC] 📊 Database Info:
[25-Nov-2025 18:38:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:09 UTC]    Books columns count: 45
[25-Nov-2025 18:38:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:09 UTC]    Language field in books: YES
[25-Nov-2025 18:38:09 UTC]    Format field in books: YES
[25-Nov-2025 18:38:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:15 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 18:38: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
[25-Nov-2025 18:38:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:15 UTC] 📊 Database Info:
[25-Nov-2025 18:38:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:15 UTC]    Books columns count: 45
[25-Nov-2025 18:38:15 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:15 UTC]    Language field in books: YES
[25-Nov-2025 18:38:15 UTC]    Format field in books: YES
[25-Nov-2025 18:38:15 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:15 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:16 UTC] 📊 Database Info:
[25-Nov-2025 18:38:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:16 UTC]    Books columns count: 45
[25-Nov-2025 18:38:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:16 UTC]    Language field in books: YES
[25-Nov-2025 18:38:16 UTC]    Format field in books: YES
[25-Nov-2025 18:38:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:34 UTC] 📊 Database Info:
[25-Nov-2025 18:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:34 UTC]    Books columns count: 45
[25-Nov-2025 18:38:34 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:34 UTC]    Language field in books: YES
[25-Nov-2025 18:38:34 UTC]    Format field in books: YES
[25-Nov-2025 18:38:34 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:34 UTC] 📊 Database Info:
[25-Nov-2025 18:38:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:34 UTC]    Books columns count: 45
[25-Nov-2025 18:38:34 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:34 UTC]    Language field in books: YES
[25-Nov-2025 18:38:34 UTC]    Format field in books: YES
[25-Nov-2025 18:38:34 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:34 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:49 UTC] 📊 Database Info:
[25-Nov-2025 18:38:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:49 UTC]    Books columns count: 45
[25-Nov-2025 18:38:49 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:49 UTC]    Language field in books: YES
[25-Nov-2025 18:38:49 UTC]    Format field in books: YES
[25-Nov-2025 18:38:49 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:49 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:50 UTC] 📊 Database Info:
[25-Nov-2025 18:38:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:50 UTC]    Books columns count: 45
[25-Nov-2025 18:38:50 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:50 UTC]    Language field in books: YES
[25-Nov-2025 18:38:50 UTC]    Format field in books: YES
[25-Nov-2025 18:38:50 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:50 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:38:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:59 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 18:38: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
[25-Nov-2025 18:38:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:59 UTC] 📊 Database Info:
[25-Nov-2025 18:38:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:59 UTC]    Books columns count: 45
[25-Nov-2025 18:38:59 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:59 UTC]    Language field in books: YES
[25-Nov-2025 18:38:59 UTC]    Format field in books: YES
[25-Nov-2025 18:38:59 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:38:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:38:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38: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
[25-Nov-2025 18:38:59 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 18:38: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
[25-Nov-2025 18:38:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:38:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:38:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:38:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:38:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:38:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:38:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:38:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:38:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:38:59 UTC] 📊 Database Info:
[25-Nov-2025 18:38:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:38:59 UTC]    Books columns count: 45
[25-Nov-2025 18:38:59 UTC]    Categories columns count: 7
[25-Nov-2025 18:38:59 UTC]    Language field in books: YES
[25-Nov-2025 18:38:59 UTC]    Format field in books: YES
[25-Nov-2025 18:38:59 UTC]    Description field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:38:59 UTC]    Is_active field in books: YES
[25-Nov-2025 18:38:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:38:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:38:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:38:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:38:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:38:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:38:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:39:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:39:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39: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
[25-Nov-2025 18:39:16 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 18:39: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
[25-Nov-2025 18:39:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:39:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:39:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:39:16 UTC] 📊 Database Info:
[25-Nov-2025 18:39:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:39:16 UTC]    Books columns count: 45
[25-Nov-2025 18:39:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:39:16 UTC]    Language field in books: YES
[25-Nov-2025 18:39:16 UTC]    Format field in books: YES
[25-Nov-2025 18:39:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:39:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:39:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:39:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:39:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:39:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:39:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:39:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:39:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:39:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:39:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:39:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:39:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39: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
[25-Nov-2025 18:39:17 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 18:39: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
[25-Nov-2025 18:39:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:39:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:39:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:39:17 UTC] 📊 Database Info:
[25-Nov-2025 18:39:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:39:17 UTC]    Books columns count: 45
[25-Nov-2025 18:39:17 UTC]    Categories columns count: 7
[25-Nov-2025 18:39:17 UTC]    Language field in books: YES
[25-Nov-2025 18:39:17 UTC]    Format field in books: YES
[25-Nov-2025 18:39:17 UTC]    Description field in categories: YES
[25-Nov-2025 18:39:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:39:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:39:17 UTC]    Is_active field in books: YES
[25-Nov-2025 18:39:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:39:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:39:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:39:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:39:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:39:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:39:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:39:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:39:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:39:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:39:31 UTC] 📊 Database Info:
[25-Nov-2025 18:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:39:31 UTC]    Books columns count: 45
[25-Nov-2025 18:39:31 UTC]    Categories columns count: 7
[25-Nov-2025 18:39:31 UTC]    Language field in books: YES
[25-Nov-2025 18:39:31 UTC]    Format field in books: YES
[25-Nov-2025 18:39:31 UTC]    Description field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Is_active field in books: YES
[25-Nov-2025 18:39:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:39:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:39:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:39:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:39:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:39:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:39:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:39:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:39:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:39:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:39:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:39:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:39:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:39:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:39:31 UTC] 📊 Database Info:
[25-Nov-2025 18:39:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:39:31 UTC]    Books columns count: 45
[25-Nov-2025 18:39:31 UTC]    Categories columns count: 7
[25-Nov-2025 18:39:31 UTC]    Language field in books: YES
[25-Nov-2025 18:39:31 UTC]    Format field in books: YES
[25-Nov-2025 18:39:31 UTC]    Description field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:39:31 UTC]    Is_active field in books: YES
[25-Nov-2025 18:39:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:39:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:39:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:39:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:39:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:39:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:40:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:40:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:40:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:40:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:40:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:40:02 UTC] 📊 Database Info:
[25-Nov-2025 18:40:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:40:02 UTC]    Books columns count: 45
[25-Nov-2025 18:40:02 UTC]    Categories columns count: 7
[25-Nov-2025 18:40:02 UTC]    Language field in books: YES
[25-Nov-2025 18:40:02 UTC]    Format field in books: YES
[25-Nov-2025 18:40:02 UTC]    Description field in categories: YES
[25-Nov-2025 18:40:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:40:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:40:02 UTC]    Is_active field in books: YES
[25-Nov-2025 18:40:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:40:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:40:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:40:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:40:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:40:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:40:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:40:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:40: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
[25-Nov-2025 18:40:03 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 18:40: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
[25-Nov-2025 18:40:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:40:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:40:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:40:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:40:03 UTC] 📊 Database Info:
[25-Nov-2025 18:40:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:40:03 UTC]    Books columns count: 45
[25-Nov-2025 18:40:03 UTC]    Categories columns count: 7
[25-Nov-2025 18:40:03 UTC]    Language field in books: YES
[25-Nov-2025 18:40:03 UTC]    Format field in books: YES
[25-Nov-2025 18:40:03 UTC]    Description field in categories: YES
[25-Nov-2025 18:40:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:40:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:40:03 UTC]    Is_active field in books: YES
[25-Nov-2025 18:40:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:40:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:40:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:40:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:40:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:40:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:40:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:40:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:40:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:40:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:40:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:40:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:40:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:40:46 UTC] 📊 Database Info:
[25-Nov-2025 18:40:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:40:46 UTC]    Books columns count: 45
[25-Nov-2025 18:40:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:40:46 UTC]    Language field in books: YES
[25-Nov-2025 18:40:46 UTC]    Format field in books: YES
[25-Nov-2025 18:40:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:40:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:40:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:40:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:40:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:40:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:40:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:40:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:40:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:40:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:40:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:40:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:40:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:40:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:40:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:40:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:40:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:40:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:40:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:40:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:40:47 UTC] 📊 Database Info:
[25-Nov-2025 18:40:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:40:47 UTC]    Books columns count: 45
[25-Nov-2025 18:40:47 UTC]    Categories columns count: 7
[25-Nov-2025 18:40:47 UTC]    Language field in books: YES
[25-Nov-2025 18:40:47 UTC]    Format field in books: YES
[25-Nov-2025 18:40:47 UTC]    Description field in categories: YES
[25-Nov-2025 18:40:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:40:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:40:47 UTC]    Is_active field in books: YES
[25-Nov-2025 18:40:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:40:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:40:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:40:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:40:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:40:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:40:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:41:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:41:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:41:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:41:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:41:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:41:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:41:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:41:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:41:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:41:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:41:12 UTC] 📊 Database Info:
[25-Nov-2025 18:41:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:41:12 UTC]    Books columns count: 45
[25-Nov-2025 18:41:12 UTC]    Categories columns count: 7
[25-Nov-2025 18:41:12 UTC]    Language field in books: YES
[25-Nov-2025 18:41:12 UTC]    Format field in books: YES
[25-Nov-2025 18:41:12 UTC]    Description field in categories: YES
[25-Nov-2025 18:41:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:41:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:41:12 UTC]    Is_active field in books: YES
[25-Nov-2025 18:41:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:41:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:41:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:41:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:41:12 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:41:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:41:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:41:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:41:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:41:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:41:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:41:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:41:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:41:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:41:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:41:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:41:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:41:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:41:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:41:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:41:13 UTC] 📊 Database Info:
[25-Nov-2025 18:41:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:41:13 UTC]    Books columns count: 45
[25-Nov-2025 18:41:13 UTC]    Categories columns count: 7
[25-Nov-2025 18:41:13 UTC]    Language field in books: YES
[25-Nov-2025 18:41:13 UTC]    Format field in books: YES
[25-Nov-2025 18:41:13 UTC]    Description field in categories: YES
[25-Nov-2025 18:41:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:41:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:41:13 UTC]    Is_active field in books: YES
[25-Nov-2025 18:41:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:41:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:41:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:41:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:41:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:41:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:41:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:45:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:45:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45: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
[25-Nov-2025 18:45:31 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 18:45: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
[25-Nov-2025 18:45:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:45:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:45:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:45:31 UTC] 📊 Database Info:
[25-Nov-2025 18:45:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:45:31 UTC]    Books columns count: 45
[25-Nov-2025 18:45:31 UTC]    Categories columns count: 7
[25-Nov-2025 18:45:31 UTC]    Language field in books: YES
[25-Nov-2025 18:45:31 UTC]    Format field in books: YES
[25-Nov-2025 18:45:31 UTC]    Description field in categories: YES
[25-Nov-2025 18:45:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:45:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:45:31 UTC]    Is_active field in books: YES
[25-Nov-2025 18:45:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:45:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:45:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:45:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:45:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:45:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:45:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45: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
[25-Nov-2025 18:45:32 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 18:45: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
[25-Nov-2025 18:45:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:45:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:45:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:45:32 UTC] 📊 Database Info:
[25-Nov-2025 18:45:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:45:32 UTC]    Books columns count: 45
[25-Nov-2025 18:45:32 UTC]    Categories columns count: 7
[25-Nov-2025 18:45:32 UTC]    Language field in books: YES
[25-Nov-2025 18:45:32 UTC]    Format field in books: YES
[25-Nov-2025 18:45:32 UTC]    Description field in categories: YES
[25-Nov-2025 18:45:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:45:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:45:32 UTC]    Is_active field in books: YES
[25-Nov-2025 18:45:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:45:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:45:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:45:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:45:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:45:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:45:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45: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
[25-Nov-2025 18:45:45 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 18:45: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
[25-Nov-2025 18:45:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:45:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:45:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:45:45 UTC] 📊 Database Info:
[25-Nov-2025 18:45:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:45:45 UTC]    Books columns count: 45
[25-Nov-2025 18:45:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:45:45 UTC]    Language field in books: YES
[25-Nov-2025 18:45:45 UTC]    Format field in books: YES
[25-Nov-2025 18:45:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:45:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:45:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:45:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:45:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:45:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:45:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:45:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45: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
[25-Nov-2025 18:45:45 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 18:45: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
[25-Nov-2025 18:45:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:45:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:45:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:45:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:45:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:45:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:45:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:45:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:45:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:45:45 UTC] 📊 Database Info:
[25-Nov-2025 18:45:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:45:45 UTC]    Books columns count: 45
[25-Nov-2025 18:45:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:45:45 UTC]    Language field in books: YES
[25-Nov-2025 18:45:45 UTC]    Format field in books: YES
[25-Nov-2025 18:45:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:45:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:45:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:45:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:45:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:45:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:45:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:45:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:45:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:47:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:47:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:47:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:47:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:47:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:47:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:47:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:47:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:47:28 UTC] 📊 Database Info:
[25-Nov-2025 18:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:47:28 UTC]    Books columns count: 45
[25-Nov-2025 18:47:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:47:28 UTC]    Language field in books: YES
[25-Nov-2025 18:47:28 UTC]    Format field in books: YES
[25-Nov-2025 18:47:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:47:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:47:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:47:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:47:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:47:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:47:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:47:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:47:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:47:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:47:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:47:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:47:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:47:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:47:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:47:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:47:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:47:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:47:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:47:28 UTC] 📊 Database Info:
[25-Nov-2025 18:47:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:47:28 UTC]    Books columns count: 45
[25-Nov-2025 18:47:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:47:28 UTC]    Language field in books: YES
[25-Nov-2025 18:47:28 UTC]    Format field in books: YES
[25-Nov-2025 18:47:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:47:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:47:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:47:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:47:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:47:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:47:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:47:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:47:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:48:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:48:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:48:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:48:10 UTC] 📊 Database Info:
[25-Nov-2025 18:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:48:10 UTC]    Books columns count: 45
[25-Nov-2025 18:48:10 UTC]    Categories columns count: 7
[25-Nov-2025 18:48:10 UTC]    Language field in books: YES
[25-Nov-2025 18:48:10 UTC]    Format field in books: YES
[25-Nov-2025 18:48:10 UTC]    Description field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Is_active field in books: YES
[25-Nov-2025 18:48:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:48:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:48:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:48:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:48:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:48:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:48:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:48:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:48:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:48:10 UTC] 📊 Database Info:
[25-Nov-2025 18:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:48:10 UTC]    Books columns count: 45
[25-Nov-2025 18:48:10 UTC]    Categories columns count: 7
[25-Nov-2025 18:48:10 UTC]    Language field in books: YES
[25-Nov-2025 18:48:10 UTC]    Format field in books: YES
[25-Nov-2025 18:48:10 UTC]    Description field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:48:10 UTC]    Is_active field in books: YES
[25-Nov-2025 18:48:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:48:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:48:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:48:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:48:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:48:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:48:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48: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
[25-Nov-2025 18:48:16 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 18:48: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
[25-Nov-2025 18:48:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:48:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:48:16 UTC] 📊 Database Info:
[25-Nov-2025 18:48:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:48:16 UTC]    Books columns count: 45
[25-Nov-2025 18:48:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:48:16 UTC]    Language field in books: YES
[25-Nov-2025 18:48:16 UTC]    Format field in books: YES
[25-Nov-2025 18:48:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:48:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:48:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:48:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:48:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:48:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48: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
[25-Nov-2025 18:48:16 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 18:48: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
[25-Nov-2025 18:48:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:48:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:48:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:48:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:48:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:48:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:48:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:48:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:48:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:48:16 UTC] 📊 Database Info:
[25-Nov-2025 18:48:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:48:16 UTC]    Books columns count: 45
[25-Nov-2025 18:48:16 UTC]    Categories columns count: 7
[25-Nov-2025 18:48:16 UTC]    Language field in books: YES
[25-Nov-2025 18:48:16 UTC]    Format field in books: YES
[25-Nov-2025 18:48:16 UTC]    Description field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:48:16 UTC]    Is_active field in books: YES
[25-Nov-2025 18:48:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:48:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:48:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:48:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:48:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:48:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:48:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51: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
[25-Nov-2025 18:51:21 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 18:51: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
[25-Nov-2025 18:51:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51: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
[25-Nov-2025 18:51:21 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 18:51: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
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51: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
[25-Nov-2025 18:51:21 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 18:51: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
[25-Nov-2025 18:51:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:21 UTC] 📊 Database Info:
[25-Nov-2025 18:51:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:21 UTC]    Books columns count: 45
[25-Nov-2025 18:51:21 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:21 UTC]    Language field in books: YES
[25-Nov-2025 18:51:21 UTC]    Format field in books: YES
[25-Nov-2025 18:51:21 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:21 UTC] 📊 Database Info:
[25-Nov-2025 18:51:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:21 UTC]    Books columns count: 45
[25-Nov-2025 18:51:21 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:21 UTC]    Language field in books: YES
[25-Nov-2025 18:51:21 UTC]    Format field in books: YES
[25-Nov-2025 18:51:21 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:21 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:51:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:21 UTC] 📊 Database Info:
[25-Nov-2025 18:51:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:21 UTC]    Books columns count: 45
[25-Nov-2025 18:51:21 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:21 UTC]    Language field in books: YES
[25-Nov-2025 18:51:21 UTC]    Format field in books: YES
[25-Nov-2025 18:51:21 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:21 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:51:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:51:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:27 UTC] 📊 Database Info:
[25-Nov-2025 18:51:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:27 UTC]    Books columns count: 45
[25-Nov-2025 18:51:27 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:27 UTC]    Language field in books: YES
[25-Nov-2025 18:51:27 UTC]    Format field in books: YES
[25-Nov-2025 18:51:27 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:27 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:51:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:51:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:28 UTC] 📊 Database Info:
[25-Nov-2025 18:51:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:28 UTC]    Books columns count: 45
[25-Nov-2025 18:51:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:28 UTC]    Language field in books: YES
[25-Nov-2025 18:51:28 UTC]    Format field in books: YES
[25-Nov-2025 18:51:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51: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
[25-Nov-2025 18:51:36 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 18:51: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
[25-Nov-2025 18:51:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:36 UTC] 📊 Database Info:
[25-Nov-2025 18:51:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:36 UTC]    Books columns count: 45
[25-Nov-2025 18:51:36 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:36 UTC]    Language field in books: YES
[25-Nov-2025 18:51:36 UTC]    Format field in books: YES
[25-Nov-2025 18:51:36 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:51:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51: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
[25-Nov-2025 18:51:36 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 18:51: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
[25-Nov-2025 18:51:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:51:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:51:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:51:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:51:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:51:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:51:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:51:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:51:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:51:36 UTC] 📊 Database Info:
[25-Nov-2025 18:51:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:51:36 UTC]    Books columns count: 45
[25-Nov-2025 18:51:36 UTC]    Categories columns count: 7
[25-Nov-2025 18:51:36 UTC]    Language field in books: YES
[25-Nov-2025 18:51:36 UTC]    Format field in books: YES
[25-Nov-2025 18:51:36 UTC]    Description field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:51:36 UTC]    Is_active field in books: YES
[25-Nov-2025 18:51:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:51:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:51:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:51:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:51:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:51:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52: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
[25-Nov-2025 18:52:29 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 18:52: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
[25-Nov-2025 18:52:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:29 UTC] 📊 Database Info:
[25-Nov-2025 18:52:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:29 UTC]    Books columns count: 45
[25-Nov-2025 18:52:29 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:29 UTC]    Language field in books: YES
[25-Nov-2025 18:52:29 UTC]    Format field in books: YES
[25-Nov-2025 18:52:29 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52: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
[25-Nov-2025 18:52:29 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 18:52: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
[25-Nov-2025 18:52:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:29 UTC] 📊 Database Info:
[25-Nov-2025 18:52:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:29 UTC]    Books columns count: 45
[25-Nov-2025 18:52:29 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:29 UTC]    Language field in books: YES
[25-Nov-2025 18:52:29 UTC]    Format field in books: YES
[25-Nov-2025 18:52:29 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:29 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:52:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:35 UTC] 📊 Database Info:
[25-Nov-2025 18:52:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:35 UTC]    Books columns count: 45
[25-Nov-2025 18:52:35 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:35 UTC]    Language field in books: YES
[25-Nov-2025 18:52:35 UTC]    Format field in books: YES
[25-Nov-2025 18:52:35 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:35 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:52:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52: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
[25-Nov-2025 18:52:36 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 18:52: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
[25-Nov-2025 18:52:36 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:36 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:36 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:36 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:36 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:36 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:36 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:36 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:36 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:36 UTC] 📊 Database Info:
[25-Nov-2025 18:52:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:36 UTC]    Books columns count: 45
[25-Nov-2025 18:52:36 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:36 UTC]    Language field in books: YES
[25-Nov-2025 18:52:36 UTC]    Format field in books: YES
[25-Nov-2025 18:52:36 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:36 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:36 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:36 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:36 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:36 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:36 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:36 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:52:36 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:52:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:42 UTC] 📊 Database Info:
[25-Nov-2025 18:52:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:42 UTC]    Books columns count: 45
[25-Nov-2025 18:52:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:42 UTC]    Language field in books: YES
[25-Nov-2025 18:52:42 UTC]    Format field in books: YES
[25-Nov-2025 18:52:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:52:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:52:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:52:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:52:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:52:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:52:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:52:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:52:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:52:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:52:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:52:42 UTC] 📊 Database Info:
[25-Nov-2025 18:52:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:52:42 UTC]    Books columns count: 45
[25-Nov-2025 18:52:42 UTC]    Categories columns count: 7
[25-Nov-2025 18:52:42 UTC]    Language field in books: YES
[25-Nov-2025 18:52:42 UTC]    Format field in books: YES
[25-Nov-2025 18:52:42 UTC]    Description field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:52:42 UTC]    Is_active field in books: YES
[25-Nov-2025 18:52:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:52:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:52:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:52:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:52:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:52:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:54:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:54:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54: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
[25-Nov-2025 18:54:51 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 18:54: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
[25-Nov-2025 18:54:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:54:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:54:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:54:51 UTC] 📊 Database Info:
[25-Nov-2025 18:54:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:54:51 UTC]    Books columns count: 45
[25-Nov-2025 18:54:51 UTC]    Categories columns count: 7
[25-Nov-2025 18:54:51 UTC]    Language field in books: YES
[25-Nov-2025 18:54:51 UTC]    Format field in books: YES
[25-Nov-2025 18:54:51 UTC]    Description field in categories: YES
[25-Nov-2025 18:54:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:54:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:54:51 UTC]    Is_active field in books: YES
[25-Nov-2025 18:54:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:54:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:54:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:54:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:54:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:54:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:54:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54: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
[25-Nov-2025 18:54:52 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 18:54: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
[25-Nov-2025 18:54:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:54:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:54:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:54:52 UTC] 📊 Database Info:
[25-Nov-2025 18:54:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:54:52 UTC]    Books columns count: 45
[25-Nov-2025 18:54:52 UTC]    Categories columns count: 7
[25-Nov-2025 18:54:52 UTC]    Language field in books: YES
[25-Nov-2025 18:54:52 UTC]    Format field in books: YES
[25-Nov-2025 18:54:52 UTC]    Description field in categories: YES
[25-Nov-2025 18:54:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:54:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:54:52 UTC]    Is_active field in books: YES
[25-Nov-2025 18:54:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:54:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:54:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:54:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:54:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:54:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:54:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:54:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:54:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:54:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:54:58 UTC] 📊 Database Info:
[25-Nov-2025 18:54:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:54:58 UTC]    Books columns count: 45
[25-Nov-2025 18:54:58 UTC]    Categories columns count: 7
[25-Nov-2025 18:54:58 UTC]    Language field in books: YES
[25-Nov-2025 18:54:58 UTC]    Format field in books: YES
[25-Nov-2025 18:54:58 UTC]    Description field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Is_active field in books: YES
[25-Nov-2025 18:54:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:54:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:54:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:54:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:54:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:54:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:54:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:54:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:54:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:54:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:54:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:54:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:54:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:54:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:54:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:54:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:54:58 UTC] 📊 Database Info:
[25-Nov-2025 18:54:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:54:58 UTC]    Books columns count: 45
[25-Nov-2025 18:54:58 UTC]    Categories columns count: 7
[25-Nov-2025 18:54:58 UTC]    Language field in books: YES
[25-Nov-2025 18:54:58 UTC]    Format field in books: YES
[25-Nov-2025 18:54:58 UTC]    Description field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:54:58 UTC]    Is_active field in books: YES
[25-Nov-2025 18:54:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:54:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:54:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:54:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:54:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:54:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:54:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55: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
[25-Nov-2025 18:55:04 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 18:55: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
[25-Nov-2025 18:55:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:04 UTC] 📊 Database Info:
[25-Nov-2025 18:55:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:04 UTC]    Books columns count: 45
[25-Nov-2025 18:55:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:04 UTC]    Language field in books: YES
[25-Nov-2025 18:55:04 UTC]    Format field in books: YES
[25-Nov-2025 18:55:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:55:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55: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
[25-Nov-2025 18:55:04 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 18:55: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
[25-Nov-2025 18:55:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:04 UTC] 📊 Database Info:
[25-Nov-2025 18:55:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:04 UTC]    Books columns count: 45
[25-Nov-2025 18:55:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:04 UTC]    Language field in books: YES
[25-Nov-2025 18:55:04 UTC]    Format field in books: YES
[25-Nov-2025 18:55:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:55:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:55:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:45 UTC] 📊 Database Info:
[25-Nov-2025 18:55:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:45 UTC]    Books columns count: 45
[25-Nov-2025 18:55:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:45 UTC]    Language field in books: YES
[25-Nov-2025 18:55:45 UTC]    Format field in books: YES
[25-Nov-2025 18:55:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:46 UTC] 📊 Database Info:
[25-Nov-2025 18:55:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:46 UTC]    Books columns count: 45
[25-Nov-2025 18:55:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:46 UTC]    Language field in books: YES
[25-Nov-2025 18:55:46 UTC]    Format field in books: YES
[25-Nov-2025 18:55:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:55:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:51 UTC] 📊 Database Info:
[25-Nov-2025 18:55:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:51 UTC]    Books columns count: 45
[25-Nov-2025 18:55:51 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:51 UTC]    Language field in books: YES
[25-Nov-2025 18:55:51 UTC]    Format field in books: YES
[25-Nov-2025 18:55:51 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:51 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:51 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:55:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:52 UTC] 📊 Database Info:
[25-Nov-2025 18:55:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:52 UTC]    Books columns count: 45
[25-Nov-2025 18:55:52 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:52 UTC]    Language field in books: YES
[25-Nov-2025 18:55:52 UTC]    Format field in books: YES
[25-Nov-2025 18:55:52 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:52 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:55:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:55:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:57 UTC] 📊 Database Info:
[25-Nov-2025 18:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:57 UTC]    Books columns count: 45
[25-Nov-2025 18:55:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:57 UTC]    Language field in books: YES
[25-Nov-2025 18:55:57 UTC]    Format field in books: YES
[25-Nov-2025 18:55:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:55:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:55:57 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:57 UTC] 📊 Database Info:
[25-Nov-2025 18:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:57 UTC]    Books columns count: 45
[25-Nov-2025 18:55:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:57 UTC]    Language field in books: YES
[25-Nov-2025 18:55:57 UTC]    Format field in books: YES
[25-Nov-2025 18:55:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:55:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:55:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:55:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:55:57 UTC] 📊 Database Info:
[25-Nov-2025 18:55:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:55:57 UTC]    Books columns count: 45
[25-Nov-2025 18:55:57 UTC]    Categories columns count: 7
[25-Nov-2025 18:55:57 UTC]    Language field in books: YES
[25-Nov-2025 18:55:57 UTC]    Format field in books: YES
[25-Nov-2025 18:55:57 UTC]    Description field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:55:57 UTC]    Is_active field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:55:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:55:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:55:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:55:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:55:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:55:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:55:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:55:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:56:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:02 UTC] 📊 Database Info:
[25-Nov-2025 18:56:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:02 UTC]    Books columns count: 45
[25-Nov-2025 18:56:02 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:02 UTC]    Language field in books: YES
[25-Nov-2025 18:56:02 UTC]    Format field in books: YES
[25-Nov-2025 18:56:02 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:56:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:02 UTC] 📊 Database Info:
[25-Nov-2025 18:56:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:02 UTC]    Books columns count: 45
[25-Nov-2025 18:56:02 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:02 UTC]    Language field in books: YES
[25-Nov-2025 18:56:02 UTC]    Format field in books: YES
[25-Nov-2025 18:56:02 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:02 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:56:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56: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
[25-Nov-2025 18:56:12 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 18:56: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
[25-Nov-2025 18:56:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:12 UTC] 📊 Database Info:
[25-Nov-2025 18:56:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:12 UTC]    Books columns count: 45
[25-Nov-2025 18:56:12 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:12 UTC]    Language field in books: YES
[25-Nov-2025 18:56:12 UTC]    Format field in books: YES
[25-Nov-2025 18:56:12 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:12 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:56:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:56:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:56:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56: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
[25-Nov-2025 18:56:13 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 18:56: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
[25-Nov-2025 18:56:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:13 UTC] 📊 Database Info:
[25-Nov-2025 18:56:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:13 UTC]    Books columns count: 45
[25-Nov-2025 18:56:13 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:13 UTC]    Language field in books: YES
[25-Nov-2025 18:56:13 UTC]    Format field in books: YES
[25-Nov-2025 18:56:13 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:13 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:56:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:56:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:56:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:59 UTC] 📊 Database Info:
[25-Nov-2025 18:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:59 UTC]    Books columns count: 45
[25-Nov-2025 18:56:59 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:59 UTC]    Language field in books: YES
[25-Nov-2025 18:56:59 UTC]    Format field in books: YES
[25-Nov-2025 18:56:59 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:56:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:56:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:56:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:56:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:56:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:56:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:56:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:56:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:56:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:56:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:56:59 UTC] 📊 Database Info:
[25-Nov-2025 18:56:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:56:59 UTC]    Books columns count: 45
[25-Nov-2025 18:56:59 UTC]    Categories columns count: 7
[25-Nov-2025 18:56:59 UTC]    Language field in books: YES
[25-Nov-2025 18:56:59 UTC]    Format field in books: YES
[25-Nov-2025 18:56:59 UTC]    Description field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:56:59 UTC]    Is_active field in books: YES
[25-Nov-2025 18:56:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:56:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:56:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:56:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:56:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:56:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:56:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:03 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 18:57: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
[25-Nov-2025 18:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:03 UTC] 📊 Database Info:
[25-Nov-2025 18:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:03 UTC]    Books columns count: 45
[25-Nov-2025 18:57:03 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:03 UTC]    Language field in books: YES
[25-Nov-2025 18:57:03 UTC]    Format field in books: YES
[25-Nov-2025 18:57:03 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:03 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 18:57: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
[25-Nov-2025 18:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:03 UTC] 📊 Database Info:
[25-Nov-2025 18:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:03 UTC]    Books columns count: 45
[25-Nov-2025 18:57:03 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:03 UTC]    Language field in books: YES
[25-Nov-2025 18:57:03 UTC]    Format field in books: YES
[25-Nov-2025 18:57:03 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:03 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:09 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 18:57: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
[25-Nov-2025 18:57:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:09 UTC] 📊 Database Info:
[25-Nov-2025 18:57:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:09 UTC]    Books columns count: 45
[25-Nov-2025 18:57:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:09 UTC]    Language field in books: YES
[25-Nov-2025 18:57:09 UTC]    Format field in books: YES
[25-Nov-2025 18:57:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:09 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 18:57: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
[25-Nov-2025 18:57:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:09 UTC] 📊 Database Info:
[25-Nov-2025 18:57:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:09 UTC]    Books columns count: 45
[25-Nov-2025 18:57:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:09 UTC]    Language field in books: YES
[25-Nov-2025 18:57:09 UTC]    Format field in books: YES
[25-Nov-2025 18:57:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:57:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:23 UTC] 📊 Database Info:
[25-Nov-2025 18:57:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:23 UTC]    Books columns count: 45
[25-Nov-2025 18:57:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:23 UTC]    Language field in books: YES
[25-Nov-2025 18:57:23 UTC]    Format field in books: YES
[25-Nov-2025 18:57:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 18:57:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:23 UTC] 📊 Database Info:
[25-Nov-2025 18:57:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:23 UTC]    Books columns count: 45
[25-Nov-2025 18:57:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:23 UTC]    Language field in books: YES
[25-Nov-2025 18:57:23 UTC]    Format field in books: YES
[25-Nov-2025 18:57:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 18:57:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:31 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 18:57: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
[25-Nov-2025 18:57:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:31 UTC] 📊 Database Info:
[25-Nov-2025 18:57:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:31 UTC]    Books columns count: 45
[25-Nov-2025 18:57:31 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:31 UTC]    Language field in books: YES
[25-Nov-2025 18:57:31 UTC]    Format field in books: YES
[25-Nov-2025 18:57:31 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:31 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:32 UTC] 📊 Database Info:
[25-Nov-2025 18:57:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:32 UTC]    Books columns count: 45
[25-Nov-2025 18:57:32 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:32 UTC]    Language field in books: YES
[25-Nov-2025 18:57:32 UTC]    Format field in books: YES
[25-Nov-2025 18:57:32 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:32 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:38 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 18:57: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
[25-Nov-2025 18:57:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:38 UTC] 📊 Database Info:
[25-Nov-2025 18:57:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:38 UTC]    Books columns count: 45
[25-Nov-2025 18:57:38 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:38 UTC]    Language field in books: YES
[25-Nov-2025 18:57:38 UTC]    Format field in books: YES
[25-Nov-2025 18:57:38 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:38 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:39 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:39 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:39 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:39 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:39 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:39 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:39 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:39 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:39 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:39 UTC] 📊 Database Info:
[25-Nov-2025 18:57:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:39 UTC]    Books columns count: 45
[25-Nov-2025 18:57:39 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:39 UTC]    Language field in books: YES
[25-Nov-2025 18:57:39 UTC]    Format field in books: YES
[25-Nov-2025 18:57:39 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:39 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:39 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:39 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:39 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:39 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:39 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:39 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:39 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57: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
[25-Nov-2025 18:57:46 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 18:57: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
[25-Nov-2025 18:57:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:46 UTC] 📊 Database Info:
[25-Nov-2025 18:57:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:46 UTC]    Books columns count: 45
[25-Nov-2025 18:57:46 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:46 UTC]    Language field in books: YES
[25-Nov-2025 18:57:46 UTC]    Format field in books: YES
[25-Nov-2025 18:57:46 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:46 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:57:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:57:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:57:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:57:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:57:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:57:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:57:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:57:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:57:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:57:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:57:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:57:47 UTC] 📊 Database Info:
[25-Nov-2025 18:57:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:57:47 UTC]    Books columns count: 45
[25-Nov-2025 18:57:47 UTC]    Categories columns count: 7
[25-Nov-2025 18:57:47 UTC]    Language field in books: YES
[25-Nov-2025 18:57:47 UTC]    Format field in books: YES
[25-Nov-2025 18:57:47 UTC]    Description field in categories: YES
[25-Nov-2025 18:57:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:57:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:57:47 UTC]    Is_active field in books: YES
[25-Nov-2025 18:57:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:57:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:57:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:57:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:57:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:57:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:57:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:05 UTC] 📊 Database Info:
[25-Nov-2025 18:58:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:05 UTC]    Books columns count: 45
[25-Nov-2025 18:58:05 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:05 UTC]    Language field in books: YES
[25-Nov-2025 18:58:05 UTC]    Format field in books: YES
[25-Nov-2025 18:58:05 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:05 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:58:05 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:58:05 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:05 UTC] 📊 Database Info:
[25-Nov-2025 18:58:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:05 UTC]    Books columns count: 45
[25-Nov-2025 18:58:05 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:05 UTC]    Language field in books: YES
[25-Nov-2025 18:58:05 UTC]    Format field in books: YES
[25-Nov-2025 18:58:05 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:05 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:58:05 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:58:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:05 UTC] 📊 Database Info:
[25-Nov-2025 18:58:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:05 UTC]    Books columns count: 45
[25-Nov-2025 18:58:05 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:05 UTC]    Language field in books: YES
[25-Nov-2025 18:58:05 UTC]    Format field in books: YES
[25-Nov-2025 18:58:05 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:05 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:07 UTC] 📊 Database Info:
[25-Nov-2025 18:58:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:07 UTC]    Books columns count: 45
[25-Nov-2025 18:58:07 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:07 UTC]    Language field in books: YES
[25-Nov-2025 18:58:07 UTC]    Format field in books: YES
[25-Nov-2025 18:58:07 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:07 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:09 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 18:58: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
[25-Nov-2025 18:58:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:09 UTC] 📊 Database Info:
[25-Nov-2025 18:58:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:09 UTC]    Books columns count: 45
[25-Nov-2025 18:58:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:09 UTC]    Language field in books: YES
[25-Nov-2025 18:58:09 UTC]    Format field in books: YES
[25-Nov-2025 18:58:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58: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}
[25-Nov-2025 18:58:09 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 18:58:09 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 18:58:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:09 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 18:58: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
[25-Nov-2025 18:58:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:09 UTC] 📊 Database Info:
[25-Nov-2025 18:58:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:09 UTC]    Books columns count: 45
[25-Nov-2025 18:58:09 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:09 UTC]    Language field in books: YES
[25-Nov-2025 18:58:09 UTC]    Format field in books: YES
[25-Nov-2025 18:58:09 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:09 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58: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":false}
[25-Nov-2025 18:58:09 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 18:58:09 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 18:58:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:45 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 18:58: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
[25-Nov-2025 18:58:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:45 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 18:58: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
[25-Nov-2025 18:58:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:45 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 18:58: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
[25-Nov-2025 18:58:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:45 UTC] 📊 Database Info:
[25-Nov-2025 18:58:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:45 UTC]    Books columns count: 45
[25-Nov-2025 18:58:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:45 UTC]    Language field in books: YES
[25-Nov-2025 18:58:45 UTC]    Format field in books: YES
[25-Nov-2025 18:58:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 18:58:45 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:45 UTC] 📊 Database Info:
[25-Nov-2025 18:58:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:45 UTC]    Books columns count: 45
[25-Nov-2025 18:58:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:45 UTC]    Language field in books: YES
[25-Nov-2025 18:58:45 UTC]    Format field in books: YES
[25-Nov-2025 18:58:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 18:58:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 18:58:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 18:58:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:45 UTC] 📊 Database Info:
[25-Nov-2025 18:58:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:45 UTC]    Books columns count: 45
[25-Nov-2025 18:58:45 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:45 UTC]    Language field in books: YES
[25-Nov-2025 18:58:45 UTC]    Format field in books: YES
[25-Nov-2025 18:58:45 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:45 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:50 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 18:58: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
[25-Nov-2025 18:58:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:50 UTC] 📊 Database Info:
[25-Nov-2025 18:58:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:50 UTC]    Books columns count: 45
[25-Nov-2025 18:58:50 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:50 UTC]    Language field in books: YES
[25-Nov-2025 18:58:50 UTC]    Format field in books: YES
[25-Nov-2025 18:58:50 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:50 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58: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
[25-Nov-2025 18:58:51 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 18:58: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
[25-Nov-2025 18:58:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:51 UTC] 📊 Database Info:
[25-Nov-2025 18:58:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:51 UTC]    Books columns count: 45
[25-Nov-2025 18:58:51 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:51 UTC]    Language field in books: YES
[25-Nov-2025 18:58:51 UTC]    Format field in books: YES
[25-Nov-2025 18:58:51 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:51 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:58:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:55 UTC] 📊 Database Info:
[25-Nov-2025 18:58:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:55 UTC]    Books columns count: 45
[25-Nov-2025 18:58:55 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:55 UTC]    Language field in books: YES
[25-Nov-2025 18:58:55 UTC]    Format field in books: YES
[25-Nov-2025 18:58:55 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:55 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:56 UTC] 📊 Database Info:
[25-Nov-2025 18:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:56 UTC]    Books columns count: 45
[25-Nov-2025 18:58:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:56 UTC]    Language field in books: YES
[25-Nov-2025 18:58:56 UTC]    Format field in books: YES
[25-Nov-2025 18:58:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:56 UTC] 📊 Database Info:
[25-Nov-2025 18:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:56 UTC]    Books columns count: 45
[25-Nov-2025 18:58:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:56 UTC]    Language field in books: YES
[25-Nov-2025 18:58:56 UTC]    Format field in books: YES
[25-Nov-2025 18:58:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:58:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:58:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:58:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:58:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:58:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:58:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:58:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:58:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:58:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:58:56 UTC] 📊 Database Info:
[25-Nov-2025 18:58:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:58:56 UTC]    Books columns count: 45
[25-Nov-2025 18:58:56 UTC]    Categories columns count: 7
[25-Nov-2025 18:58:56 UTC]    Language field in books: YES
[25-Nov-2025 18:58:56 UTC]    Format field in books: YES
[25-Nov-2025 18:58:56 UTC]    Description field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:58:56 UTC]    Is_active field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:58:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:58:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:58:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:58:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:58:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:04 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 18:59: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
[25-Nov-2025 18:59:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:04 UTC] 📊 Database Info:
[25-Nov-2025 18:59:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:04 UTC]    Books columns count: 45
[25-Nov-2025 18:59:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:04 UTC]    Language field in books: YES
[25-Nov-2025 18:59:04 UTC]    Format field in books: YES
[25-Nov-2025 18:59:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:04 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 18:59: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
[25-Nov-2025 18:59:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:04 UTC] 📊 Database Info:
[25-Nov-2025 18:59:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:04 UTC]    Books columns count: 45
[25-Nov-2025 18:59:04 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:04 UTC]    Language field in books: YES
[25-Nov-2025 18:59:04 UTC]    Format field in books: YES
[25-Nov-2025 18:59:04 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:04 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:09 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 18:59: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
[25-Nov-2025 18:59:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:10 UTC] 📊 Database Info:
[25-Nov-2025 18:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:10 UTC]    Books columns count: 45
[25-Nov-2025 18:59:10 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:10 UTC]    Language field in books: YES
[25-Nov-2025 18:59:10 UTC]    Format field in books: YES
[25-Nov-2025 18:59:10 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:10 UTC] 📊 Database Info:
[25-Nov-2025 18:59:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:10 UTC]    Books columns count: 45
[25-Nov-2025 18:59:10 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:10 UTC]    Language field in books: YES
[25-Nov-2025 18:59:10 UTC]    Format field in books: YES
[25-Nov-2025 18:59:10 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:10 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:17 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 18:59: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
[25-Nov-2025 18:59:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:17 UTC] 📊 Database Info:
[25-Nov-2025 18:59:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:17 UTC]    Books columns count: 45
[25-Nov-2025 18:59:17 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:17 UTC]    Language field in books: YES
[25-Nov-2025 18:59:17 UTC]    Format field in books: YES
[25-Nov-2025 18:59:17 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:17 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 18:59: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
[25-Nov-2025 18:59:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:17 UTC] 📊 Database Info:
[25-Nov-2025 18:59:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:17 UTC]    Books columns count: 45
[25-Nov-2025 18:59:17 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:17 UTC]    Language field in books: YES
[25-Nov-2025 18:59:17 UTC]    Format field in books: YES
[25-Nov-2025 18:59:17 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:17 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:22 UTC] 📊 Database Info:
[25-Nov-2025 18:59:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:22 UTC]    Books columns count: 45
[25-Nov-2025 18:59:22 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:22 UTC]    Language field in books: YES
[25-Nov-2025 18:59:22 UTC]    Format field in books: YES
[25-Nov-2025 18:59:22 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:22 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:23 UTC] 📊 Database Info:
[25-Nov-2025 18:59:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:23 UTC]    Books columns count: 45
[25-Nov-2025 18:59:23 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:23 UTC]    Language field in books: YES
[25-Nov-2025 18:59:23 UTC]    Format field in books: YES
[25-Nov-2025 18:59:23 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:23 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18: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
[25-Nov-2025 18:59:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:27 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 18:59: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
[25-Nov-2025 18:59:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:27 UTC] 📊 Database Info:
[25-Nov-2025 18:59:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:27 UTC]    Books columns count: 45
[25-Nov-2025 18:59:27 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:27 UTC]    Language field in books: YES
[25-Nov-2025 18:59:27 UTC]    Format field in books: YES
[25-Nov-2025 18:59:27 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:27 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:27 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 18:59: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
[25-Nov-2025 18:59:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:28 UTC] 📊 Database Info:
[25-Nov-2025 18:59:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:28 UTC]    Books columns count: 45
[25-Nov-2025 18:59:28 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:28 UTC]    Language field in books: YES
[25-Nov-2025 18:59:28 UTC]    Format field in books: YES
[25-Nov-2025 18:59:28 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:28 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:43 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 18:59: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
[25-Nov-2025 18:59:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:43 UTC] 📊 Database Info:
[25-Nov-2025 18:59:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:43 UTC]    Books columns count: 45
[25-Nov-2025 18:59:43 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:43 UTC]    Language field in books: YES
[25-Nov-2025 18:59:43 UTC]    Format field in books: YES
[25-Nov-2025 18:59:43 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 18:59:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 18:59:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59: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
[25-Nov-2025 18:59:43 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 18:59: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
[25-Nov-2025 18:59:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 18:59:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 18:59:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 18:59:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 18:59:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 18:59:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 18:59:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 18:59:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 18:59:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 18:59:43 UTC] 📊 Database Info:
[25-Nov-2025 18:59:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 18:59:43 UTC]    Books columns count: 45
[25-Nov-2025 18:59:43 UTC]    Categories columns count: 7
[25-Nov-2025 18:59:43 UTC]    Language field in books: YES
[25-Nov-2025 18:59:43 UTC]    Format field in books: YES
[25-Nov-2025 18:59:43 UTC]    Description field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 18:59:43 UTC]    Is_active field in books: YES
[25-Nov-2025 18:59:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 18:59:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 18:59:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 18:59:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 18:59:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 18:59:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 18:59:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:26 UTC] 📊 Database Info:
[25-Nov-2025 19:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:26 UTC]    Books columns count: 45
[25-Nov-2025 19:02:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:26 UTC]    Language field in books: YES
[25-Nov-2025 19:02:26 UTC]    Format field in books: YES
[25-Nov-2025 19:02:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 19:02:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:26 UTC] 📊 Database Info:
[25-Nov-2025 19:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:26 UTC]    Books columns count: 45
[25-Nov-2025 19:02:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:26 UTC]    Language field in books: YES
[25-Nov-2025 19:02:26 UTC]    Format field in books: YES
[25-Nov-2025 19:02:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:26 UTC] 📊 Database Info:
[25-Nov-2025 19:02:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:26 UTC]    Books columns count: 45
[25-Nov-2025 19:02:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:26 UTC]    Language field in books: YES
[25-Nov-2025 19:02:26 UTC]    Format field in books: YES
[25-Nov-2025 19:02:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 19:02:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 19:02:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 19:02:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02: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
[25-Nov-2025 19:02:31 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 19:02: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
[25-Nov-2025 19:02:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:31 UTC] 📊 Database Info:
[25-Nov-2025 19:02:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:31 UTC]    Books columns count: 45
[25-Nov-2025 19:02:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:31 UTC]    Language field in books: YES
[25-Nov-2025 19:02:31 UTC]    Format field in books: YES
[25-Nov-2025 19:02:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:02:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02: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
[25-Nov-2025 19:02:31 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 19:02: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
[25-Nov-2025 19:02:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:31 UTC] 📊 Database Info:
[25-Nov-2025 19:02:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:31 UTC]    Books columns count: 45
[25-Nov-2025 19:02:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:31 UTC]    Language field in books: YES
[25-Nov-2025 19:02:31 UTC]    Format field in books: YES
[25-Nov-2025 19:02:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:02:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:02:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:48 UTC] 📊 Database Info:
[25-Nov-2025 19:02:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:48 UTC]    Books columns count: 45
[25-Nov-2025 19:02:48 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:48 UTC]    Language field in books: YES
[25-Nov-2025 19:02:48 UTC]    Format field in books: YES
[25-Nov-2025 19:02:48 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:48 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:49 UTC] 📊 Database Info:
[25-Nov-2025 19:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:49 UTC]    Books columns count: 45
[25-Nov-2025 19:02:49 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:49 UTC]    Language field in books: YES
[25-Nov-2025 19:02:49 UTC]    Format field in books: YES
[25-Nov-2025 19:02:49 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:49 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:49 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:02:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:57 UTC] 📊 Database Info:
[25-Nov-2025 19:02:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:57 UTC]    Books columns count: 45
[25-Nov-2025 19:02:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:57 UTC]    Language field in books: YES
[25-Nov-2025 19:02:57 UTC]    Format field in books: YES
[25-Nov-2025 19:02:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:02:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:02:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:02:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:02:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:02:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:02:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:02:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:02:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:02:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:02:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:02:57 UTC] 📊 Database Info:
[25-Nov-2025 19:02:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:02:57 UTC]    Books columns count: 45
[25-Nov-2025 19:02:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:02:57 UTC]    Language field in books: YES
[25-Nov-2025 19:02:57 UTC]    Format field in books: YES
[25-Nov-2025 19:02:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:02:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:02:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:02:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:02:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:02:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:02:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:02:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:02:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:02 UTC] 📊 Database Info:
[25-Nov-2025 19:03:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:02 UTC]    Books columns count: 45
[25-Nov-2025 19:03:02 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:02 UTC]    Language field in books: YES
[25-Nov-2025 19:03:02 UTC]    Format field in books: YES
[25-Nov-2025 19:03:02 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:02 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:02 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:02 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:02 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:02 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:02 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:02 UTC] 📊 Database Info:
[25-Nov-2025 19:03:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:02 UTC]    Books columns count: 45
[25-Nov-2025 19:03:02 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:02 UTC]    Language field in books: YES
[25-Nov-2025 19:03:02 UTC]    Format field in books: YES
[25-Nov-2025 19:03:02 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:02 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:02 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:02 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:02 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:02 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:02 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03: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
[25-Nov-2025 19:03:06 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 19:03: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
[25-Nov-2025 19:03:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:06 UTC] 📊 Database Info:
[25-Nov-2025 19:03:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:06 UTC]    Books columns count: 45
[25-Nov-2025 19:03:06 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:06 UTC]    Language field in books: YES
[25-Nov-2025 19:03:06 UTC]    Format field in books: YES
[25-Nov-2025 19:03:06 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:06 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03: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
[25-Nov-2025 19:03:06 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 19:03: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
[25-Nov-2025 19:03:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:07 UTC] 📊 Database Info:
[25-Nov-2025 19:03:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:07 UTC]    Books columns count: 45
[25-Nov-2025 19:03:07 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:07 UTC]    Language field in books: YES
[25-Nov-2025 19:03:07 UTC]    Format field in books: YES
[25-Nov-2025 19:03:07 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:07 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03: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
[25-Nov-2025 19:03:19 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 19:03: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
[25-Nov-2025 19:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:19 UTC] 📊 Database Info:
[25-Nov-2025 19:03:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:19 UTC]    Books columns count: 45
[25-Nov-2025 19:03:19 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:19 UTC]    Language field in books: YES
[25-Nov-2025 19:03:19 UTC]    Format field in books: YES
[25-Nov-2025 19:03:19 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:19 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03: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
[25-Nov-2025 19:03:19 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 19:03: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
[25-Nov-2025 19:03:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:20 UTC] 📊 Database Info:
[25-Nov-2025 19:03:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:20 UTC]    Books columns count: 45
[25-Nov-2025 19:03:20 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:20 UTC]    Language field in books: YES
[25-Nov-2025 19:03:20 UTC]    Format field in books: YES
[25-Nov-2025 19:03:20 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:20 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:42 UTC] 📊 Database Info:
[25-Nov-2025 19:03:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:42 UTC]    Books columns count: 45
[25-Nov-2025 19:03:42 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:42 UTC]    Language field in books: YES
[25-Nov-2025 19:03:42 UTC]    Format field in books: YES
[25-Nov-2025 19:03:42 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:42 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:03:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:03:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:03:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03: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
[25-Nov-2025 19:03:43 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 19:03: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
[25-Nov-2025 19:03:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:03:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:03:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:03:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:03:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:03:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:03:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:03:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:03:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:03:43 UTC] 📊 Database Info:
[25-Nov-2025 19:03:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:03:43 UTC]    Books columns count: 45
[25-Nov-2025 19:03:43 UTC]    Categories columns count: 7
[25-Nov-2025 19:03:43 UTC]    Language field in books: YES
[25-Nov-2025 19:03:43 UTC]    Format field in books: YES
[25-Nov-2025 19:03:43 UTC]    Description field in categories: YES
[25-Nov-2025 19:03:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:03:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:03:43 UTC]    Is_active field in books: YES
[25-Nov-2025 19:03:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:03:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:03:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:03:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:03:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:03:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:03:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:06:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:06:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06: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
[25-Nov-2025 19:06:44 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 19:06: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
[25-Nov-2025 19:06:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:06:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:06:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:06:44 UTC] 📊 Database Info:
[25-Nov-2025 19:06:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:06:44 UTC]    Books columns count: 45
[25-Nov-2025 19:06:44 UTC]    Categories columns count: 7
[25-Nov-2025 19:06:44 UTC]    Language field in books: YES
[25-Nov-2025 19:06:44 UTC]    Format field in books: YES
[25-Nov-2025 19:06:44 UTC]    Description field in categories: YES
[25-Nov-2025 19:06:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:06:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:06:44 UTC]    Is_active field in books: YES
[25-Nov-2025 19:06:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:06:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:06:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:06:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:06:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:06:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:06:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:06:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:06:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:06:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:06:45 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:06:45 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:06:45 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:45 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:45 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:45 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:45 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:45 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06:45 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:06:45 UTC] 📊 Database Info:
[25-Nov-2025 19:06:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:06:45 UTC]    Books columns count: 45
[25-Nov-2025 19:06:45 UTC]    Categories columns count: 7
[25-Nov-2025 19:06:45 UTC]    Language field in books: YES
[25-Nov-2025 19:06:45 UTC]    Format field in books: YES
[25-Nov-2025 19:06:45 UTC]    Description field in categories: YES
[25-Nov-2025 19:06:45 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:06:45 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:06:45 UTC]    Is_active field in books: YES
[25-Nov-2025 19:06:45 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:06:45 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:06:45 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:06:45 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:06:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:06:45 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:06:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:06:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:06:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06: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
[25-Nov-2025 19:06:49 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 19:06: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
[25-Nov-2025 19:06:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:06:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:06:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:06:49 UTC] 📊 Database Info:
[25-Nov-2025 19:06:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:06:49 UTC]    Books columns count: 45
[25-Nov-2025 19:06:49 UTC]    Categories columns count: 7
[25-Nov-2025 19:06:49 UTC]    Language field in books: YES
[25-Nov-2025 19:06:49 UTC]    Format field in books: YES
[25-Nov-2025 19:06:49 UTC]    Description field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Is_active field in books: YES
[25-Nov-2025 19:06:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:06:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:06:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:06:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:06:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:06:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:06:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:06:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:06:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06: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
[25-Nov-2025 19:06:49 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 19:06: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
[25-Nov-2025 19:06:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:06:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:06:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:06:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:06:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:06:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:06:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:06:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:06:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:06:49 UTC] 📊 Database Info:
[25-Nov-2025 19:06:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:06:49 UTC]    Books columns count: 45
[25-Nov-2025 19:06:49 UTC]    Categories columns count: 7
[25-Nov-2025 19:06:49 UTC]    Language field in books: YES
[25-Nov-2025 19:06:49 UTC]    Format field in books: YES
[25-Nov-2025 19:06:49 UTC]    Description field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:06:49 UTC]    Is_active field in books: YES
[25-Nov-2025 19:06:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:06:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:06:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:06:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:06:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:06:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:06:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:07:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:07:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:07:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:07:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:07:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:07:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:07:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:07:11 UTC] 📊 Database Info:
[25-Nov-2025 19:07:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:07:11 UTC]    Books columns count: 45
[25-Nov-2025 19:07:11 UTC]    Categories columns count: 7
[25-Nov-2025 19:07:11 UTC]    Language field in books: YES
[25-Nov-2025 19:07:11 UTC]    Format field in books: YES
[25-Nov-2025 19:07:11 UTC]    Description field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:07:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:07:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:07:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:07:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:07:11 UTC] 📊 Database Info:
[25-Nov-2025 19:07:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:07:11 UTC]    Books columns count: 45
[25-Nov-2025 19:07:11 UTC]    Categories columns count: 7
[25-Nov-2025 19:07:11 UTC]    Language field in books: YES
[25-Nov-2025 19:07:11 UTC]    Format field in books: YES
[25-Nov-2025 19:07:11 UTC]    Description field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:07:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:07:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:07:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:07:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 19:07:11 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 19:07:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:07:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:07:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:07:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:07:11 UTC] 📊 Database Info:
[25-Nov-2025 19:07:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:07:11 UTC]    Books columns count: 45
[25-Nov-2025 19:07:11 UTC]    Categories columns count: 7
[25-Nov-2025 19:07:11 UTC]    Language field in books: YES
[25-Nov-2025 19:07:11 UTC]    Format field in books: YES
[25-Nov-2025 19:07:11 UTC]    Description field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:07:11 UTC]    Is_active field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:07:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:07:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:07:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:07:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:07:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:07:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 19:07:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 19:07:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 19:10:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:10:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:10:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:10:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:10:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:10:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:10:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:10:31 UTC] 📊 Database Info:
[25-Nov-2025 19:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:10:31 UTC]    Books columns count: 45
[25-Nov-2025 19:10:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:10:31 UTC]    Language field in books: YES
[25-Nov-2025 19:10:31 UTC]    Format field in books: YES
[25-Nov-2025 19:10:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:10:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:10:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:10:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:10:31 UTC] 📊 Database Info:
[25-Nov-2025 19:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:10:31 UTC]    Books columns count: 45
[25-Nov-2025 19:10:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:10:31 UTC]    Language field in books: YES
[25-Nov-2025 19:10:31 UTC]    Format field in books: YES
[25-Nov-2025 19:10:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:10:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:10:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:10:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 19:10:31 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 19:10:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:10:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:10:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:10:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:10:31 UTC] 📊 Database Info:
[25-Nov-2025 19:10:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:10:31 UTC]    Books columns count: 45
[25-Nov-2025 19:10:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:10:31 UTC]    Language field in books: YES
[25-Nov-2025 19:10:31 UTC]    Format field in books: YES
[25-Nov-2025 19:10:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:10:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:10:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:10:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:10:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:10:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:10:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:10:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 19:10:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 19:10:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 19:11:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:13 UTC] 📊 Database Info:
[25-Nov-2025 19:11:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:13 UTC]    Books columns count: 45
[25-Nov-2025 19:11:13 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:13 UTC]    Language field in books: YES
[25-Nov-2025 19:11:13 UTC]    Format field in books: YES
[25-Nov-2025 19:11:13 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:13 UTC] 📊 Database Info:
[25-Nov-2025 19:11:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:13 UTC]    Books columns count: 45
[25-Nov-2025 19:11:13 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:13 UTC]    Language field in books: YES
[25-Nov-2025 19:11:13 UTC]    Format field in books: YES
[25-Nov-2025 19:11:13 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:13 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11: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
[25-Nov-2025 19:11:21 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 19:11: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
[25-Nov-2025 19:11:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:21 UTC] 📊 Database Info:
[25-Nov-2025 19:11:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:21 UTC]    Books columns count: 45
[25-Nov-2025 19:11:21 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:21 UTC]    Language field in books: YES
[25-Nov-2025 19:11:21 UTC]    Format field in books: YES
[25-Nov-2025 19:11:21 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:11:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11: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
[25-Nov-2025 19:11:21 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 19:11: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
[25-Nov-2025 19:11:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:21 UTC] 📊 Database Info:
[25-Nov-2025 19:11:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:21 UTC]    Books columns count: 45
[25-Nov-2025 19:11:21 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:21 UTC]    Language field in books: YES
[25-Nov-2025 19:11:21 UTC]    Format field in books: YES
[25-Nov-2025 19:11:21 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:21 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:11:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:11:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:32 UTC] 📊 Database Info:
[25-Nov-2025 19:11:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:32 UTC]    Books columns count: 45
[25-Nov-2025 19:11:32 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:32 UTC]    Language field in books: YES
[25-Nov-2025 19:11:32 UTC]    Format field in books: YES
[25-Nov-2025 19:11:32 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:32 UTC] 📊 Database Info:
[25-Nov-2025 19:11:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:32 UTC]    Books columns count: 45
[25-Nov-2025 19:11:32 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:32 UTC]    Language field in books: YES
[25-Nov-2025 19:11:32 UTC]    Format field in books: YES
[25-Nov-2025 19:11:32 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:32 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:44 UTC] 📊 Database Info:
[25-Nov-2025 19:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:44 UTC]    Books columns count: 45
[25-Nov-2025 19:11:44 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:44 UTC]    Language field in books: YES
[25-Nov-2025 19:11:44 UTC]    Format field in books: YES
[25-Nov-2025 19:11:44 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:11:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:44 UTC] 📊 Database Info:
[25-Nov-2025 19:11:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:44 UTC]    Books columns count: 45
[25-Nov-2025 19:11:44 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:44 UTC]    Language field in books: YES
[25-Nov-2025 19:11:44 UTC]    Format field in books: YES
[25-Nov-2025 19:11:44 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:44 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:11:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:53 UTC] 📊 Database Info:
[25-Nov-2025 19:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:53 UTC]    Books columns count: 45
[25-Nov-2025 19:11:53 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:53 UTC]    Language field in books: YES
[25-Nov-2025 19:11:53 UTC]    Format field in books: YES
[25-Nov-2025 19:11:53 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:11:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:11:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:11:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:11:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:11:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:11:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:11:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:11:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:11:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:11:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:11:53 UTC] 📊 Database Info:
[25-Nov-2025 19:11:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:11:53 UTC]    Books columns count: 45
[25-Nov-2025 19:11:53 UTC]    Categories columns count: 7
[25-Nov-2025 19:11:53 UTC]    Language field in books: YES
[25-Nov-2025 19:11:53 UTC]    Format field in books: YES
[25-Nov-2025 19:11:53 UTC]    Description field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:11:53 UTC]    Is_active field in books: YES
[25-Nov-2025 19:11:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:11:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:11:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:11:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:11:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:11:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:11:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:06 UTC] 📊 Database Info:
[25-Nov-2025 19:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:06 UTC]    Books columns count: 45
[25-Nov-2025 19:12:06 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:06 UTC]    Language field in books: YES
[25-Nov-2025 19:12:06 UTC]    Format field in books: YES
[25-Nov-2025 19:12:06 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:06 UTC] 📊 Database Info:
[25-Nov-2025 19:12:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:06 UTC]    Books columns count: 45
[25-Nov-2025 19:12:06 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:06 UTC]    Language field in books: YES
[25-Nov-2025 19:12:06 UTC]    Format field in books: YES
[25-Nov-2025 19:12:06 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:06 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:14 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:14 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:14 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:14 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:14 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:14 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:14 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:14 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:14 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:14 UTC] 📊 Database Info:
[25-Nov-2025 19:12:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:14 UTC]    Books columns count: 45
[25-Nov-2025 19:12:14 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:14 UTC]    Language field in books: YES
[25-Nov-2025 19:12:14 UTC]    Format field in books: YES
[25-Nov-2025 19:12:14 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:14 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:14 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:14 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:14 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:14 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:14 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:14 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:14 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12: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
[25-Nov-2025 19:12:15 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 19:12: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
[25-Nov-2025 19:12:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:15 UTC] 📊 Database Info:
[25-Nov-2025 19:12:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:15 UTC]    Books columns count: 45
[25-Nov-2025 19:12:15 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:15 UTC]    Language field in books: YES
[25-Nov-2025 19:12:15 UTC]    Format field in books: YES
[25-Nov-2025 19:12:15 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:15 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:15 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12: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
[25-Nov-2025 19:12:21 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 19:12: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
[25-Nov-2025 19:12:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:21 UTC] 📊 Database Info:
[25-Nov-2025 19:12:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:21 UTC]    Books columns count: 45
[25-Nov-2025 19:12:21 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:21 UTC]    Language field in books: YES
[25-Nov-2025 19:12:21 UTC]    Format field in books: YES
[25-Nov-2025 19:12:21 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:21 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12: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
[25-Nov-2025 19:12:21 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 19:12: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
[25-Nov-2025 19:12:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:22 UTC] 📊 Database Info:
[25-Nov-2025 19:12:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:22 UTC]    Books columns count: 45
[25-Nov-2025 19:12:22 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:22 UTC]    Language field in books: YES
[25-Nov-2025 19:12:22 UTC]    Format field in books: YES
[25-Nov-2025 19:12:22 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:22 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:29 UTC] 📊 Database Info:
[25-Nov-2025 19:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:29 UTC]    Books columns count: 45
[25-Nov-2025 19:12:29 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:29 UTC]    Language field in books: YES
[25-Nov-2025 19:12:29 UTC]    Format field in books: YES
[25-Nov-2025 19:12:29 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:29 UTC] 📊 Database Info:
[25-Nov-2025 19:12:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:29 UTC]    Books columns count: 45
[25-Nov-2025 19:12:29 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:29 UTC]    Language field in books: YES
[25-Nov-2025 19:12:29 UTC]    Format field in books: YES
[25-Nov-2025 19:12:29 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:29 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12: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
[25-Nov-2025 19:12:38 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 19:12: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
[25-Nov-2025 19:12:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:38 UTC] 📊 Database Info:
[25-Nov-2025 19:12:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:38 UTC]    Books columns count: 45
[25-Nov-2025 19:12:38 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:38 UTC]    Language field in books: YES
[25-Nov-2025 19:12:38 UTC]    Format field in books: YES
[25-Nov-2025 19:12:38 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12: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
[25-Nov-2025 19:12:38 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 19:12: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
[25-Nov-2025 19:12:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:38 UTC] 📊 Database Info:
[25-Nov-2025 19:12:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:38 UTC]    Books columns count: 45
[25-Nov-2025 19:12:38 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:38 UTC]    Language field in books: YES
[25-Nov-2025 19:12:38 UTC]    Format field in books: YES
[25-Nov-2025 19:12:38 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:38 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:38 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:12:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:46 UTC] 📊 Database Info:
[25-Nov-2025 19:12:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:46 UTC]    Books columns count: 45
[25-Nov-2025 19:12:46 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:46 UTC]    Language field in books: YES
[25-Nov-2025 19:12:46 UTC]    Format field in books: YES
[25-Nov-2025 19:12:46 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:46 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:47 UTC] 📊 Database Info:
[25-Nov-2025 19:12:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:47 UTC]    Books columns count: 45
[25-Nov-2025 19:12:47 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:47 UTC]    Language field in books: YES
[25-Nov-2025 19:12:47 UTC]    Format field in books: YES
[25-Nov-2025 19:12:47 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:47 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:57 UTC] 📊 Database Info:
[25-Nov-2025 19:12:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:57 UTC]    Books columns count: 45
[25-Nov-2025 19:12:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:57 UTC]    Language field in books: YES
[25-Nov-2025 19:12:57 UTC]    Format field in books: YES
[25-Nov-2025 19:12:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:12:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:12:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:12:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:12:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:12:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:12:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:12:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:12:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:12:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:12:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:12:57 UTC] 📊 Database Info:
[25-Nov-2025 19:12:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:12:57 UTC]    Books columns count: 45
[25-Nov-2025 19:12:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:12:57 UTC]    Language field in books: YES
[25-Nov-2025 19:12:57 UTC]    Format field in books: YES
[25-Nov-2025 19:12:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:12:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:12:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:12:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:12:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:12:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:12:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:12:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:12:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:02 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:02 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:02 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:02 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:02 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:02 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:02 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:02 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:13:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:03 UTC] 📊 Database Info:
[25-Nov-2025 19:13:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:03 UTC]    Books columns count: 45
[25-Nov-2025 19:13:03 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:03 UTC]    Language field in books: YES
[25-Nov-2025 19:13:03 UTC]    Format field in books: YES
[25-Nov-2025 19:13:03 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:13:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:13:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:03 UTC] 📊 Database Info:
[25-Nov-2025 19:13:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:03 UTC]    Books columns count: 45
[25-Nov-2025 19:13:03 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:03 UTC]    Language field in books: YES
[25-Nov-2025 19:13:03 UTC]    Format field in books: YES
[25-Nov-2025 19:13:03 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:03 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:13:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:08 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 19:13: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
[25-Nov-2025 19:13:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:08 UTC] 📊 Database Info:
[25-Nov-2025 19:13:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:08 UTC]    Books columns count: 45
[25-Nov-2025 19:13:08 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:08 UTC]    Language field in books: YES
[25-Nov-2025 19:13:08 UTC]    Format field in books: YES
[25-Nov-2025 19:13:08 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:08 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 19:13: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
[25-Nov-2025 19:13:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:08 UTC] 📊 Database Info:
[25-Nov-2025 19:13:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:08 UTC]    Books columns count: 45
[25-Nov-2025 19:13:08 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:08 UTC]    Language field in books: YES
[25-Nov-2025 19:13:08 UTC]    Format field in books: YES
[25-Nov-2025 19:13:08 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:08 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:08 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:33 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 19:13: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
[25-Nov-2025 19:13:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:33 UTC] 📊 Database Info:
[25-Nov-2025 19:13:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:33 UTC]    Books columns count: 45
[25-Nov-2025 19:13:33 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:33 UTC]    Language field in books: YES
[25-Nov-2025 19:13:33 UTC]    Format field in books: YES
[25-Nov-2025 19:13:33 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:33 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 19:13: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
[25-Nov-2025 19:13:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:33 UTC] 📊 Database Info:
[25-Nov-2025 19:13:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:33 UTC]    Books columns count: 45
[25-Nov-2025 19:13:33 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:33 UTC]    Language field in books: YES
[25-Nov-2025 19:13:33 UTC]    Format field in books: YES
[25-Nov-2025 19:13:33 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:33 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:51 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 19:13: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
[25-Nov-2025 19:13:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:51 UTC] 📊 Database Info:
[25-Nov-2025 19:13:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:51 UTC]    Books columns count: 45
[25-Nov-2025 19:13:51 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:51 UTC]    Language field in books: YES
[25-Nov-2025 19:13:51 UTC]    Format field in books: YES
[25-Nov-2025 19:13:51 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:13:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:13:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13: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
[25-Nov-2025 19:13:51 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 19:13: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
[25-Nov-2025 19:13:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:13:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:13:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:13:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:13:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:13:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:13:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:13:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:13:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:13:51 UTC] 📊 Database Info:
[25-Nov-2025 19:13:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:13:51 UTC]    Books columns count: 45
[25-Nov-2025 19:13:51 UTC]    Categories columns count: 7
[25-Nov-2025 19:13:51 UTC]    Language field in books: YES
[25-Nov-2025 19:13:51 UTC]    Format field in books: YES
[25-Nov-2025 19:13:51 UTC]    Description field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:13:51 UTC]    Is_active field in books: YES
[25-Nov-2025 19:13:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:13:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:13:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:13:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:13:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:13:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:13:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:15:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:15:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15: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
[25-Nov-2025 19:15:35 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 19:15: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
[25-Nov-2025 19:15:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:15:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:15:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:15:35 UTC] 📊 Database Info:
[25-Nov-2025 19:15:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:15:35 UTC]    Books columns count: 45
[25-Nov-2025 19:15:35 UTC]    Categories columns count: 7
[25-Nov-2025 19:15:35 UTC]    Language field in books: YES
[25-Nov-2025 19:15:35 UTC]    Format field in books: YES
[25-Nov-2025 19:15:35 UTC]    Description field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Is_active field in books: YES
[25-Nov-2025 19:15:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:15:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:15:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:15:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:15:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:15:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:15:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:15:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15: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
[25-Nov-2025 19:15:35 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 19:15: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
[25-Nov-2025 19:15:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:15:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:15:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:15:35 UTC] 📊 Database Info:
[25-Nov-2025 19:15:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:15:35 UTC]    Books columns count: 45
[25-Nov-2025 19:15:35 UTC]    Categories columns count: 7
[25-Nov-2025 19:15:35 UTC]    Language field in books: YES
[25-Nov-2025 19:15:35 UTC]    Format field in books: YES
[25-Nov-2025 19:15:35 UTC]    Description field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:15:35 UTC]    Is_active field in books: YES
[25-Nov-2025 19:15:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:15:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:15:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:15:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:15:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:15:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:15:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:15:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:15:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:15:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:15:47 UTC] 📊 Database Info:
[25-Nov-2025 19:15:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:15:47 UTC]    Books columns count: 45
[25-Nov-2025 19:15:47 UTC]    Categories columns count: 7
[25-Nov-2025 19:15:47 UTC]    Language field in books: YES
[25-Nov-2025 19:15:47 UTC]    Format field in books: YES
[25-Nov-2025 19:15:47 UTC]    Description field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Is_active field in books: YES
[25-Nov-2025 19:15:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:15:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:15:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:15:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:15:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:15:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:15:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:15:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:15:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:15:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:15:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:15:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:15:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:15:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:15:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:15:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:15:47 UTC] 📊 Database Info:
[25-Nov-2025 19:15:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:15:47 UTC]    Books columns count: 45
[25-Nov-2025 19:15:47 UTC]    Categories columns count: 7
[25-Nov-2025 19:15:47 UTC]    Language field in books: YES
[25-Nov-2025 19:15:47 UTC]    Format field in books: YES
[25-Nov-2025 19:15:47 UTC]    Description field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:15:47 UTC]    Is_active field in books: YES
[25-Nov-2025 19:15:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:15:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:15:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:15:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:15:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:15:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:15:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:16:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:16:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:16:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:16:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:16:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:16:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:16:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:16:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:16:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:16:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:16:29 UTC] 📊 Database Info:
[25-Nov-2025 19:16:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:16:29 UTC]    Books columns count: 45
[25-Nov-2025 19:16:29 UTC]    Categories columns count: 7
[25-Nov-2025 19:16:29 UTC]    Language field in books: YES
[25-Nov-2025 19:16:29 UTC]    Format field in books: YES
[25-Nov-2025 19:16:29 UTC]    Description field in categories: YES
[25-Nov-2025 19:16:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:16:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:16:29 UTC]    Is_active field in books: YES
[25-Nov-2025 19:16:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:16:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:16:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:16:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:16:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:16:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:16:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:16:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:16:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:16:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:16:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:16:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:16:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:16:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:16:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:16:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:16:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:16:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:16:30 UTC] 📊 Database Info:
[25-Nov-2025 19:16:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:16:30 UTC]    Books columns count: 45
[25-Nov-2025 19:16:30 UTC]    Categories columns count: 7
[25-Nov-2025 19:16:30 UTC]    Language field in books: YES
[25-Nov-2025 19:16:30 UTC]    Format field in books: YES
[25-Nov-2025 19:16:30 UTC]    Description field in categories: YES
[25-Nov-2025 19:16:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:16:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:16:30 UTC]    Is_active field in books: YES
[25-Nov-2025 19:16:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:16:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:16:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:16:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:16:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:16:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:16:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:17:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:17:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:17:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:17:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:17:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:17:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:17:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:17:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:17:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:17:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:17:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:17:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:17:57 UTC] 📊 Database Info:
[25-Nov-2025 19:17:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:17:57 UTC]    Books columns count: 45
[25-Nov-2025 19:17:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:17:57 UTC]    Language field in books: YES
[25-Nov-2025 19:17:57 UTC]    Format field in books: YES
[25-Nov-2025 19:17:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:17:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:17:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:17:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:17:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:17:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:17:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:17:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:17:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:17:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:17:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:17:57 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[25-Nov-2025 19:17:57 UTC] ✅ Global auth update completed: 1 books updated
[25-Nov-2025 19:17:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:17:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:17:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:17:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:17:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:17:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:17:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:17:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:17:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:17:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:17:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:17:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:17:59 UTC] 📊 Database Info:
[25-Nov-2025 19:17:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:17:59 UTC]    Books columns count: 45
[25-Nov-2025 19:17:59 UTC]    Categories columns count: 7
[25-Nov-2025 19:17:59 UTC]    Language field in books: YES
[25-Nov-2025 19:17:59 UTC]    Format field in books: YES
[25-Nov-2025 19:17:59 UTC]    Description field in categories: YES
[25-Nov-2025 19:17:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:17:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:17:59 UTC]    Is_active field in books: YES
[25-Nov-2025 19:17:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:17:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:17:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:17:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:17:59 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:17:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:17:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:07 UTC] 📊 Database Info:
[25-Nov-2025 19:18:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:07 UTC]    Books columns count: 45
[25-Nov-2025 19:18:07 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:07 UTC]    Language field in books: YES
[25-Nov-2025 19:18:07 UTC]    Format field in books: YES
[25-Nov-2025 19:18:07 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:07 UTC] 📊 Database Info:
[25-Nov-2025 19:18:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:07 UTC]    Books columns count: 45
[25-Nov-2025 19:18:07 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:07 UTC]    Language field in books: YES
[25-Nov-2025 19:18:07 UTC]    Format field in books: YES
[25-Nov-2025 19:18:07 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:07 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:46 UTC] 📊 Database Info:
[25-Nov-2025 19:18:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:46 UTC]    Books columns count: 45
[25-Nov-2025 19:18:46 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:46 UTC]    Language field in books: YES
[25-Nov-2025 19:18:46 UTC]    Format field in books: YES
[25-Nov-2025 19:18:46 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:46 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:47 UTC] 📊 Database Info:
[25-Nov-2025 19:18:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:47 UTC]    Books columns count: 45
[25-Nov-2025 19:18:47 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:47 UTC]    Language field in books: YES
[25-Nov-2025 19:18:47 UTC]    Format field in books: YES
[25-Nov-2025 19:18:47 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:47 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:52 UTC] 📊 Database Info:
[25-Nov-2025 19:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:52 UTC]    Books columns count: 45
[25-Nov-2025 19:18:52 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:52 UTC]    Language field in books: YES
[25-Nov-2025 19:18:52 UTC]    Format field in books: YES
[25-Nov-2025 19:18:52 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:18:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:18:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:18:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:18:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:18:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:18:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:18:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:18:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:18:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:18:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:18:52 UTC] 📊 Database Info:
[25-Nov-2025 19:18:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:18:52 UTC]    Books columns count: 45
[25-Nov-2025 19:18:52 UTC]    Categories columns count: 7
[25-Nov-2025 19:18:52 UTC]    Language field in books: YES
[25-Nov-2025 19:18:52 UTC]    Format field in books: YES
[25-Nov-2025 19:18:52 UTC]    Description field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:18:52 UTC]    Is_active field in books: YES
[25-Nov-2025 19:18:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:18:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:18:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:18:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:18:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:18:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:18:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:19:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:19:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:19:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:19:13 UTC] 📊 Database Info:
[25-Nov-2025 19:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:19:13 UTC]    Books columns count: 45
[25-Nov-2025 19:19:13 UTC]    Categories columns count: 7
[25-Nov-2025 19:19:13 UTC]    Language field in books: YES
[25-Nov-2025 19:19:13 UTC]    Format field in books: YES
[25-Nov-2025 19:19:13 UTC]    Description field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Is_active field in books: YES
[25-Nov-2025 19:19:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:19:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:19:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:19:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:19:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:19:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:19:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:19:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:19:13 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:19:13 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:19:13 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:13 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:13 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:13 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:13 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:13 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19:13 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:19:13 UTC] 📊 Database Info:
[25-Nov-2025 19:19:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:19:13 UTC]    Books columns count: 45
[25-Nov-2025 19:19:13 UTC]    Categories columns count: 7
[25-Nov-2025 19:19:13 UTC]    Language field in books: YES
[25-Nov-2025 19:19:13 UTC]    Format field in books: YES
[25-Nov-2025 19:19:13 UTC]    Description field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:19:13 UTC]    Is_active field in books: YES
[25-Nov-2025 19:19:13 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:19:13 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:19:13 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:19:13 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:19:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:19:13 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:19:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:19:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19: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
[25-Nov-2025 19:19:30 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 19:19: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
[25-Nov-2025 19:19:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:19:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:19:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:19:30 UTC] 📊 Database Info:
[25-Nov-2025 19:19:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:19:30 UTC]    Books columns count: 45
[25-Nov-2025 19:19:30 UTC]    Categories columns count: 7
[25-Nov-2025 19:19:30 UTC]    Language field in books: YES
[25-Nov-2025 19:19:30 UTC]    Format field in books: YES
[25-Nov-2025 19:19:30 UTC]    Description field in categories: YES
[25-Nov-2025 19:19:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:19:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:19:30 UTC]    Is_active field in books: YES
[25-Nov-2025 19:19:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:19:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:19:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:19:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:19:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:19:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:19:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:19:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:19:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19: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
[25-Nov-2025 19:19:31 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 19:19: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
[25-Nov-2025 19:19:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:19:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:19:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:19:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:19:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:19:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:19:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:19:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:19:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:19:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:19:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:19:31 UTC] 📊 Database Info:
[25-Nov-2025 19:19:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:19:31 UTC]    Books columns count: 45
[25-Nov-2025 19:19:31 UTC]    Categories columns count: 7
[25-Nov-2025 19:19:31 UTC]    Language field in books: YES
[25-Nov-2025 19:19:31 UTC]    Format field in books: YES
[25-Nov-2025 19:19:31 UTC]    Description field in categories: YES
[25-Nov-2025 19:19:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:19:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:19:31 UTC]    Is_active field in books: YES
[25-Nov-2025 19:19:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:19:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:19:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:19:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:19:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:19:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:19:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:19:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:25:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:25: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
[25-Nov-2025 19:25:25 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 19:25: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
[25-Nov-2025 19:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:25:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:25:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:25:25 UTC] 📊 Database Info:
[25-Nov-2025 19:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:25:25 UTC]    Books columns count: 45
[25-Nov-2025 19:25:25 UTC]    Categories columns count: 7
[25-Nov-2025 19:25:25 UTC]    Language field in books: YES
[25-Nov-2025 19:25:25 UTC]    Format field in books: YES
[25-Nov-2025 19:25:25 UTC]    Description field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Is_active field in books: YES
[25-Nov-2025 19:25:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:25:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:25:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:25:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:25:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:25: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
[25-Nov-2025 19:25:25 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 19:25: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
[25-Nov-2025 19:25:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:25:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:25:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:25:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:25:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:25:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:25:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:25:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:25:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:25:25 UTC] 📊 Database Info:
[25-Nov-2025 19:25:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:25:25 UTC]    Books columns count: 45
[25-Nov-2025 19:25:25 UTC]    Categories columns count: 7
[25-Nov-2025 19:25:25 UTC]    Language field in books: YES
[25-Nov-2025 19:25:25 UTC]    Format field in books: YES
[25-Nov-2025 19:25:25 UTC]    Description field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:25:25 UTC]    Is_active field in books: YES
[25-Nov-2025 19:25:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:25:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:25:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:25:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:25:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:25:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:25:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:26:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:26:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26: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
[25-Nov-2025 19:26:03 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 19:26: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
[25-Nov-2025 19:26:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:26:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:26:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:26:03 UTC] 📊 Database Info:
[25-Nov-2025 19:26:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:26:03 UTC]    Books columns count: 45
[25-Nov-2025 19:26:03 UTC]    Categories columns count: 7
[25-Nov-2025 19:26:03 UTC]    Language field in books: YES
[25-Nov-2025 19:26:03 UTC]    Format field in books: YES
[25-Nov-2025 19:26:03 UTC]    Description field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Is_active field in books: YES
[25-Nov-2025 19:26:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:26:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:26:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:26:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:26:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:26:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:26:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26: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
[25-Nov-2025 19:26:03 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 19:26: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
[25-Nov-2025 19:26:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:26:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:26:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:26:03 UTC] 📊 Database Info:
[25-Nov-2025 19:26:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:26:03 UTC]    Books columns count: 45
[25-Nov-2025 19:26:03 UTC]    Categories columns count: 7
[25-Nov-2025 19:26:03 UTC]    Language field in books: YES
[25-Nov-2025 19:26:03 UTC]    Format field in books: YES
[25-Nov-2025 19:26:03 UTC]    Description field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:26:03 UTC]    Is_active field in books: YES
[25-Nov-2025 19:26:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:26:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:26:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:26:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:26:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:26:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:26:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26: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
[25-Nov-2025 19:26:50 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 19:26: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
[25-Nov-2025 19:26:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:26:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:26:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:26:50 UTC] 📊 Database Info:
[25-Nov-2025 19:26:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:26:50 UTC]    Books columns count: 45
[25-Nov-2025 19:26:50 UTC]    Categories columns count: 7
[25-Nov-2025 19:26:50 UTC]    Language field in books: YES
[25-Nov-2025 19:26:50 UTC]    Format field in books: YES
[25-Nov-2025 19:26:50 UTC]    Description field in categories: YES
[25-Nov-2025 19:26:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:26:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:26:50 UTC]    Is_active field in books: YES
[25-Nov-2025 19:26:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:26:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:26:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:26:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:26:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:26:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:26:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:26:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:26:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:26:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:26:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:26:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:26:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:26:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:26:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:26:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:26:51 UTC] 📊 Database Info:
[25-Nov-2025 19:26:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:26:51 UTC]    Books columns count: 45
[25-Nov-2025 19:26:51 UTC]    Categories columns count: 7
[25-Nov-2025 19:26:51 UTC]    Language field in books: YES
[25-Nov-2025 19:26:51 UTC]    Format field in books: YES
[25-Nov-2025 19:26:51 UTC]    Description field in categories: YES
[25-Nov-2025 19:26:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:26:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:26:51 UTC]    Is_active field in books: YES
[25-Nov-2025 19:26:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:26:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:26:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:26:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:26:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:26:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:27:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:27:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:27:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:27:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:27:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:27:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:27:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:27:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:27:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:27:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:27:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:27:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:27:52 UTC] 📊 Database Info:
[25-Nov-2025 19:27:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:27:52 UTC]    Books columns count: 45
[25-Nov-2025 19:27:52 UTC]    Categories columns count: 7
[25-Nov-2025 19:27:52 UTC]    Language field in books: YES
[25-Nov-2025 19:27:52 UTC]    Format field in books: YES
[25-Nov-2025 19:27:52 UTC]    Description field in categories: YES
[25-Nov-2025 19:27:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:27:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:27:52 UTC]    Is_active field in books: YES
[25-Nov-2025 19:27:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:27:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:27:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:27:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:27:52 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:27:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:27:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:27:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:27:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:27:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:27: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
[25-Nov-2025 19:27:53 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 19:27: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
[25-Nov-2025 19:27:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:27:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:27:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:27:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:27:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:27:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:27:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:27:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:27:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:27:53 UTC] 📊 Database Info:
[25-Nov-2025 19:27:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:27:53 UTC]    Books columns count: 45
[25-Nov-2025 19:27:53 UTC]    Categories columns count: 7
[25-Nov-2025 19:27:53 UTC]    Language field in books: YES
[25-Nov-2025 19:27:53 UTC]    Format field in books: YES
[25-Nov-2025 19:27:53 UTC]    Description field in categories: YES
[25-Nov-2025 19:27:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:27:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:27:53 UTC]    Is_active field in books: YES
[25-Nov-2025 19:27:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:27:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:27:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:27:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:27:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:27:53 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:27:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:27:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:28:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:28:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:28:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:28:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:28:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:28:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:28:29 UTC] 📊 Database Info:
[25-Nov-2025 19:28:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:28:29 UTC]    Books columns count: 45
[25-Nov-2025 19:28:29 UTC]    Categories columns count: 7
[25-Nov-2025 19:28:29 UTC]    Language field in books: YES
[25-Nov-2025 19:28:29 UTC]    Format field in books: YES
[25-Nov-2025 19:28:29 UTC]    Description field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Is_active field in books: YES
[25-Nov-2025 19:28:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:28:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:28:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:28:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:28:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:28:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:28:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:28: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
[25-Nov-2025 19:28:29 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 19:28: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
[25-Nov-2025 19:28:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:28:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:28:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:28:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:28:29 UTC] 📊 Database Info:
[25-Nov-2025 19:28:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:28:29 UTC]    Books columns count: 45
[25-Nov-2025 19:28:29 UTC]    Categories columns count: 7
[25-Nov-2025 19:28:29 UTC]    Language field in books: YES
[25-Nov-2025 19:28:29 UTC]    Format field in books: YES
[25-Nov-2025 19:28:29 UTC]    Description field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:28:29 UTC]    Is_active field in books: YES
[25-Nov-2025 19:28:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:28:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:28:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:28:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:28:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:28:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:28:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:28: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
[25-Nov-2025 19:28:59 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 19:28: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
[25-Nov-2025 19:28:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:28:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:28:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:28:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:28:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:28:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:28:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:28:59 UTC] 📊 Database Info:
[25-Nov-2025 19:28:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:28:59 UTC]    Books columns count: 45
[25-Nov-2025 19:28:59 UTC]    Categories columns count: 7
[25-Nov-2025 19:28:59 UTC]    Language field in books: YES
[25-Nov-2025 19:28:59 UTC]    Format field in books: YES
[25-Nov-2025 19:28:59 UTC]    Description field in categories: YES
[25-Nov-2025 19:28:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:28:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:28:59 UTC]    Is_active field in books: YES
[25-Nov-2025 19:28:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:28:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:28:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:28:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:28:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:28:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:28:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:29:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:29:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:29:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:29:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:29:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:29:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:29:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:29:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:29:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:29:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:29:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:29:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:29:00 UTC] 📊 Database Info:
[25-Nov-2025 19:29:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:29:00 UTC]    Books columns count: 45
[25-Nov-2025 19:29:00 UTC]    Categories columns count: 7
[25-Nov-2025 19:29:00 UTC]    Language field in books: YES
[25-Nov-2025 19:29:00 UTC]    Format field in books: YES
[25-Nov-2025 19:29:00 UTC]    Description field in categories: YES
[25-Nov-2025 19:29:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:29:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:29:00 UTC]    Is_active field in books: YES
[25-Nov-2025 19:29:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:29:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:29:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:29:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:29:00 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:29:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:29:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:37:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:37:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:37:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:37:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:37:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:37:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:37:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:37:26 UTC] 📊 Database Info:
[25-Nov-2025 19:37:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:37:26 UTC]    Books columns count: 45
[25-Nov-2025 19:37:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:37:26 UTC]    Language field in books: YES
[25-Nov-2025 19:37:26 UTC]    Format field in books: YES
[25-Nov-2025 19:37:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:37:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:37:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:37:26 UTC] 📊 Database Info:
[25-Nov-2025 19:37:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:37:26 UTC]    Books columns count: 45
[25-Nov-2025 19:37:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:37:26 UTC]    Language field in books: YES
[25-Nov-2025 19:37:26 UTC]    Format field in books: YES
[25-Nov-2025 19:37:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:37:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:37:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:37:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 19:37:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 19:37:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 19:37:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:37:26 UTC] 📊 Database Info:
[25-Nov-2025 19:37:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:37:26 UTC]    Books columns count: 45
[25-Nov-2025 19:37:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:37:26 UTC]    Language field in books: YES
[25-Nov-2025 19:37:26 UTC]    Format field in books: YES
[25-Nov-2025 19:37:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:37:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:37:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:37:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:37:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:37:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:37:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 19:37:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 19:37:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:37:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37: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
[25-Nov-2025 19:37:59 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 19:37: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
[25-Nov-2025 19:37:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:37:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:37:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:37:59 UTC] 📊 Database Info:
[25-Nov-2025 19:37:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:37:59 UTC]    Books columns count: 45
[25-Nov-2025 19:37:59 UTC]    Categories columns count: 7
[25-Nov-2025 19:37:59 UTC]    Language field in books: YES
[25-Nov-2025 19:37:59 UTC]    Format field in books: YES
[25-Nov-2025 19:37:59 UTC]    Description field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Is_active field in books: YES
[25-Nov-2025 19:37:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:37:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:37:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:37:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:37:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:37:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:37:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:37:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37: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
[25-Nov-2025 19:37:59 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 19:37: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
[25-Nov-2025 19:37:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:37:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:37:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:37:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:37:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:37:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:37:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:37:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:37:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:37:59 UTC] 📊 Database Info:
[25-Nov-2025 19:37:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:37:59 UTC]    Books columns count: 45
[25-Nov-2025 19:37:59 UTC]    Categories columns count: 7
[25-Nov-2025 19:37:59 UTC]    Language field in books: YES
[25-Nov-2025 19:37:59 UTC]    Format field in books: YES
[25-Nov-2025 19:37:59 UTC]    Description field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:37:59 UTC]    Is_active field in books: YES
[25-Nov-2025 19:37:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:37:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:37:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:37:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:37:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:37:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:37:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:37:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:38:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:38:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:38:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:38:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:38:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:38:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:38:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:38:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:38:07 UTC] 📊 Database Info:
[25-Nov-2025 19:38:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:38:07 UTC]    Books columns count: 45
[25-Nov-2025 19:38:07 UTC]    Categories columns count: 7
[25-Nov-2025 19:38:07 UTC]    Language field in books: YES
[25-Nov-2025 19:38:07 UTC]    Format field in books: YES
[25-Nov-2025 19:38:07 UTC]    Description field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Is_active field in books: YES
[25-Nov-2025 19:38:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:38:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:38:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:38:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:38:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:38:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:38:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:38:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:38:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:38:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:38:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:38:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:38:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:38:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:38:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:38:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:38:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:38:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:38:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:38:07 UTC] 📊 Database Info:
[25-Nov-2025 19:38:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:38:07 UTC]    Books columns count: 45
[25-Nov-2025 19:38:07 UTC]    Categories columns count: 7
[25-Nov-2025 19:38:07 UTC]    Language field in books: YES
[25-Nov-2025 19:38:07 UTC]    Format field in books: YES
[25-Nov-2025 19:38:07 UTC]    Description field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:38:07 UTC]    Is_active field in books: YES
[25-Nov-2025 19:38:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:38:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:38:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:38:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:38:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19: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
[25-Nov-2025 19:38:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:38:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:44:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:44:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:44:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:44:26 UTC] 📊 Database Info:
[25-Nov-2025 19:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:44:26 UTC]    Books columns count: 45
[25-Nov-2025 19:44:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:44:26 UTC]    Language field in books: YES
[25-Nov-2025 19:44:26 UTC]    Format field in books: YES
[25-Nov-2025 19:44:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:44:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:44:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:44:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 19:44:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 19:44:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:44:26 UTC] 📊 Database Info:
[25-Nov-2025 19:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:44:26 UTC]    Books columns count: 45
[25-Nov-2025 19:44:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:44:26 UTC]    Language field in books: YES
[25-Nov-2025 19:44:26 UTC]    Format field in books: YES
[25-Nov-2025 19:44:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:44:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:44:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:44:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 19:44:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 19:44:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:44:26 UTC] 📊 Database Info:
[25-Nov-2025 19:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:44:26 UTC]    Books columns count: 45
[25-Nov-2025 19:44:26 UTC]    Categories columns count: 7
[25-Nov-2025 19:44:26 UTC]    Language field in books: YES
[25-Nov-2025 19:44:26 UTC]    Format field in books: YES
[25-Nov-2025 19:44:26 UTC]    Description field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:44:26 UTC]    Is_active field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:44:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:44:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:44:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:44:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:44:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:44:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:44:57 UTC] 📊 Database Info:
[25-Nov-2025 19:44:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:44:57 UTC]    Books columns count: 45
[25-Nov-2025 19:44:57 UTC]    Categories columns count: 7
[25-Nov-2025 19:44:57 UTC]    Language field in books: YES
[25-Nov-2025 19:44:57 UTC]    Format field in books: YES
[25-Nov-2025 19:44:57 UTC]    Description field in categories: YES
[25-Nov-2025 19:44:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:44:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:44:57 UTC]    Is_active field in books: YES
[25-Nov-2025 19:44:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:44:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:44:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:44:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:44:57 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 19:44:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 19:44:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 19:44:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44: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 19:44: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 19:44: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 19:44:58 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 19:44:58 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 19:44:58 UTC] ℹ️ Column institution already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column language already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column format already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 19:44:58 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 19:44:58 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 19:44:58 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 19:44:58 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 19:44:58 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 19:44:58 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 19:44:58 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 19:44:58 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 19:44:58 UTC] 📊 Database Info:
[25-Nov-2025 19:44:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 19:44:58 UTC]    Books columns count: 45
[25-Nov-2025 19:44:58 UTC]    Categories columns count: 7
[25-Nov-2025 19:44:58 UTC]    Language field in books: YES
[25-Nov-2025 19:44:58 UTC]    Format field in books: YES
[25-Nov-2025 19:44:58 UTC]    Description field in categories: YES
[25-Nov-2025 19:44:58 UTC]    Display_order field in categories: YES
[25-Nov-2025 19:44:58 UTC]    Is_active field in categories: YES
[25-Nov-2025 19:44:58 UTC]    Is_active field in books: YES
[25-Nov-2025 19:44:58 UTC]    External_download_link field in books: YES
[25-Nov-2025 19:44:58 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 19:44:58 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 19:44:58 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 19:44:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:44:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 19:44:58 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 19:44:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:08:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:08:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:08:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:08:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:08:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:08:51 UTC] 📊 Database Info:
[25-Nov-2025 20:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:08:51 UTC]    Books columns count: 45
[25-Nov-2025 20:08:51 UTC]    Categories columns count: 7
[25-Nov-2025 20:08:51 UTC]    Language field in books: YES
[25-Nov-2025 20:08:51 UTC]    Format field in books: YES
[25-Nov-2025 20:08:51 UTC]    Description field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:08:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:08:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:08:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:08:51 UTC] 📊 Database Info:
[25-Nov-2025 20:08:51 UTC] 📊 Database Info:
[25-Nov-2025 20:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:08:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:08:51 UTC]    Books columns count: 45
[25-Nov-2025 20:08:51 UTC]    Books columns count: 45
[25-Nov-2025 20:08:51 UTC]    Categories columns count: 7
[25-Nov-2025 20:08:51 UTC]    Categories columns count: 7
[25-Nov-2025 20:08:51 UTC]    Language field in books: YES
[25-Nov-2025 20:08:51 UTC]    Language field in books: YES
[25-Nov-2025 20:08:51 UTC]    Format field in books: YES
[25-Nov-2025 20:08:51 UTC]    Format field in books: YES
[25-Nov-2025 20:08:51 UTC]    Description field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Description field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in books: YES
[25-Nov-2025 20:08:51 UTC]    Is_active field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:08:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:08:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:08:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:08:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:08:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20: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
[25-Nov-2025 20:08:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:08:51 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:08:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:08:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:08:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:08:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:08:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:08:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:08:57 UTC] 📊 Database Info:
[25-Nov-2025 20:08:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:08:57 UTC]    Books columns count: 45
[25-Nov-2025 20:08:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:08:57 UTC]    Language field in books: YES
[25-Nov-2025 20:08:57 UTC]    Format field in books: YES
[25-Nov-2025 20:08:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:08:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:08:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:08:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:08:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:08:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:08:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:08:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:08:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:08:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:08:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:08:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:08:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:08:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:08:57 UTC] 📊 Database Info:
[25-Nov-2025 20:08:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:08:57 UTC]    Books columns count: 45
[25-Nov-2025 20:08:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:08:57 UTC]    Language field in books: YES
[25-Nov-2025 20:08:57 UTC]    Format field in books: YES
[25-Nov-2025 20:08:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:08:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:08:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:08:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:08:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:08:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:08:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:08:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:24 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:24 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:24 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:24 UTC] 📊 Database Info:
[25-Nov-2025 20:09:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:24 UTC]    Books columns count: 45
[25-Nov-2025 20:09:24 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:24 UTC]    Language field in books: YES
[25-Nov-2025 20:09:24 UTC]    Format field in books: YES
[25-Nov-2025 20:09:24 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:24 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:24 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:24 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:24 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:24 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:24 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:24 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:24 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:24 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:24 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:24 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:24 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:24 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:24 UTC] 📊 Database Info:
[25-Nov-2025 20:09:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:24 UTC]    Books columns count: 45
[25-Nov-2025 20:09:24 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:24 UTC]    Language field in books: YES
[25-Nov-2025 20:09:24 UTC]    Format field in books: YES
[25-Nov-2025 20:09:24 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:24 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:24 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:24 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:24 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:24 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:24 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:41 UTC] 📊 Database Info:
[25-Nov-2025 20:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:41 UTC]    Books columns count: 45
[25-Nov-2025 20:09:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:41 UTC]    Language field in books: YES
[25-Nov-2025 20:09:41 UTC]    Format field in books: YES
[25-Nov-2025 20:09:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:41 UTC] 📊 Database Info:
[25-Nov-2025 20:09:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:41 UTC]    Books columns count: 45
[25-Nov-2025 20:09:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:41 UTC]    Language field in books: YES
[25-Nov-2025 20:09:41 UTC]    Format field in books: YES
[25-Nov-2025 20:09:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:09:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09: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
[25-Nov-2025 20:09:48 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 20:09: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
[25-Nov-2025 20:09:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:48 UTC] 📊 Database Info:
[25-Nov-2025 20:09:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:48 UTC]    Books columns count: 45
[25-Nov-2025 20:09:48 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:48 UTC]    Language field in books: YES
[25-Nov-2025 20:09:48 UTC]    Format field in books: YES
[25-Nov-2025 20:09:48 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09: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
[25-Nov-2025 20:09:48 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 20:09: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
[25-Nov-2025 20:09:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:48 UTC] 📊 Database Info:
[25-Nov-2025 20:09:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:48 UTC]    Books columns count: 45
[25-Nov-2025 20:09:48 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:48 UTC]    Language field in books: YES
[25-Nov-2025 20:09:48 UTC]    Format field in books: YES
[25-Nov-2025 20:09:48 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:48 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09: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
[25-Nov-2025 20:09:57 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 20:09: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
[25-Nov-2025 20:09:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:57 UTC] 📊 Database Info:
[25-Nov-2025 20:09:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:57 UTC]    Books columns count: 45
[25-Nov-2025 20:09:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:57 UTC]    Language field in books: YES
[25-Nov-2025 20:09:57 UTC]    Format field in books: YES
[25-Nov-2025 20:09:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:09:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:09:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09: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
[25-Nov-2025 20:09:57 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 20:09: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
[25-Nov-2025 20:09:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:09:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:09:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:09:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:09:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:09:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:09:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:09:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:09:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:09:57 UTC] 📊 Database Info:
[25-Nov-2025 20:09:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:09:57 UTC]    Books columns count: 45
[25-Nov-2025 20:09:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:09:57 UTC]    Language field in books: YES
[25-Nov-2025 20:09:57 UTC]    Format field in books: YES
[25-Nov-2025 20:09:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:09:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:09:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:09:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:09:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:09:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:09:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:57 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:09:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:09:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 20:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:03 UTC] 📊 Database Info:
[25-Nov-2025 20:10:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:03 UTC]    Books columns count: 45
[25-Nov-2025 20:10:03 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:03 UTC]    Language field in books: YES
[25-Nov-2025 20:10:03 UTC]    Format field in books: YES
[25-Nov-2025 20:10:03 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 20:10:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:03 UTC] 📊 Database Info:
[25-Nov-2025 20:10:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:03 UTC]    Books columns count: 45
[25-Nov-2025 20:10:03 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:03 UTC]    Language field in books: YES
[25-Nov-2025 20:10:03 UTC]    Format field in books: YES
[25-Nov-2025 20:10:03 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:03 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:10:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:10:11 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:11 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:11 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:11 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:11 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:11 UTC] 📊 Database Info:
[25-Nov-2025 20:10:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:11 UTC]    Books columns count: 45
[25-Nov-2025 20:10:11 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:11 UTC]    Language field in books: YES
[25-Nov-2025 20:10:11 UTC]    Format field in books: YES
[25-Nov-2025 20:10:11 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:11 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:11 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:11 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:11 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:11 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:11 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:11 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:10:11 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:11 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:11 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:11 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:11 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10: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
[25-Nov-2025 20:10:12 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 20:10: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
[25-Nov-2025 20:10:12 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:12 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:12 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:12 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:12 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:12 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:12 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:12 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:12 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:12 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:12 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:12 UTC] 📊 Database Info:
[25-Nov-2025 20:10:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:12 UTC]    Books columns count: 45
[25-Nov-2025 20:10:12 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:12 UTC]    Language field in books: YES
[25-Nov-2025 20:10:12 UTC]    Format field in books: YES
[25-Nov-2025 20:10:12 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:12 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:12 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:12 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:12 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:12 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:12 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:12 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:12 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10: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
[25-Nov-2025 20:10:56 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 20:10: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
[25-Nov-2025 20:10:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:56 UTC] 📊 Database Info:
[25-Nov-2025 20:10:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:56 UTC]    Books columns count: 45
[25-Nov-2025 20:10:56 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:56 UTC]    Language field in books: YES
[25-Nov-2025 20:10:56 UTC]    Format field in books: YES
[25-Nov-2025 20:10:56 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:10:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:10:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10: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
[25-Nov-2025 20:10:56 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 20:10: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
[25-Nov-2025 20:10:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:10:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:10:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:10:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:10:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:10:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:10:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:10:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:10:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:10:56 UTC] 📊 Database Info:
[25-Nov-2025 20:10:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:10:56 UTC]    Books columns count: 45
[25-Nov-2025 20:10:56 UTC]    Categories columns count: 7
[25-Nov-2025 20:10:56 UTC]    Language field in books: YES
[25-Nov-2025 20:10:56 UTC]    Format field in books: YES
[25-Nov-2025 20:10:56 UTC]    Description field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:10:56 UTC]    Is_active field in books: YES
[25-Nov-2025 20:10:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:10:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:10:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:10:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:10:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:56 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:10:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:10:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:11:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:11:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:11:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:11:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:11:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:11:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:11:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:11:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:11:01 UTC] 📊 Database Info:
[25-Nov-2025 20:11:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:11:01 UTC]    Books columns count: 45
[25-Nov-2025 20:11:01 UTC]    Categories columns count: 7
[25-Nov-2025 20:11:01 UTC]    Language field in books: YES
[25-Nov-2025 20:11:01 UTC]    Format field in books: YES
[25-Nov-2025 20:11:01 UTC]    Description field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Is_active field in books: YES
[25-Nov-2025 20:11:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:11:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:11:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:11:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:11:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:11:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:11:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:11:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:11:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:11:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:11:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:11:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:11:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:11:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:11:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:11:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:11:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:11:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:11:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:11:01 UTC] 📊 Database Info:
[25-Nov-2025 20:11:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:11:01 UTC]    Books columns count: 45
[25-Nov-2025 20:11:01 UTC]    Categories columns count: 7
[25-Nov-2025 20:11:01 UTC]    Language field in books: YES
[25-Nov-2025 20:11:01 UTC]    Format field in books: YES
[25-Nov-2025 20:11:01 UTC]    Description field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:11:01 UTC]    Is_active field in books: YES
[25-Nov-2025 20:11:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:11:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:11:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:11:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:11:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:11:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:11:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:30 UTC] 📊 Database Info:
[25-Nov-2025 20:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:30 UTC]    Books columns count: 45
[25-Nov-2025 20:12:30 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:30 UTC]    Language field in books: YES
[25-Nov-2025 20:12:30 UTC]    Format field in books: YES
[25-Nov-2025 20:12:30 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:12:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:30 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:12:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:30 UTC] 📊 Database Info:
[25-Nov-2025 20:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:30 UTC]    Books columns count: 45
[25-Nov-2025 20:12:30 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:30 UTC]    Language field in books: YES
[25-Nov-2025 20:12:30 UTC]    Format field in books: YES
[25-Nov-2025 20:12:30 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:12:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:12:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:30 UTC] 📊 Database Info:
[25-Nov-2025 20:12:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:30 UTC]    Books columns count: 45
[25-Nov-2025 20:12:30 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:30 UTC]    Language field in books: YES
[25-Nov-2025 20:12:30 UTC]    Format field in books: YES
[25-Nov-2025 20:12:30 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:30 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:50 UTC] 📊 Database Info:
[25-Nov-2025 20:12:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:50 UTC]    Books columns count: 45
[25-Nov-2025 20:12:50 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:50 UTC]    Language field in books: YES
[25-Nov-2025 20:12:50 UTC]    Format field in books: YES
[25-Nov-2025 20:12:50 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:50 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:53 UTC] 📊 Database Info:
[25-Nov-2025 20:12:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:53 UTC]    Books columns count: 45
[25-Nov-2025 20:12:53 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:53 UTC]    Language field in books: YES
[25-Nov-2025 20:12:53 UTC]    Format field in books: YES
[25-Nov-2025 20:12:53 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:53 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}
[25-Nov-2025 20:12:53 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:12:53 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:12:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:12:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:53 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:12:53 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:12:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:12:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:12:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:12:53 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:12:53 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:12:53 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:12:53 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:12:53 UTC] 📊 Database Info:
[25-Nov-2025 20:12:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:12:53 UTC]    Books columns count: 45
[25-Nov-2025 20:12:53 UTC]    Categories columns count: 7
[25-Nov-2025 20:12:53 UTC]    Language field in books: YES
[25-Nov-2025 20:12:53 UTC]    Format field in books: YES
[25-Nov-2025 20:12:53 UTC]    Description field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:12:53 UTC]    Is_active field in books: YES
[25-Nov-2025 20:12:53 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:12:53 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:12:53 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:12:53 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:12:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:12:53 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:12:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:12:53 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}
[25-Nov-2025 20:12:53 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:12:53 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:13:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:13:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:13:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:13:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:13:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:13:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:13:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:13:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:13:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:13:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:13:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:13:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:13:04 UTC] 📊 Database Info:
[25-Nov-2025 20:13:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:13:04 UTC]    Books columns count: 45
[25-Nov-2025 20:13:04 UTC]    Categories columns count: 7
[25-Nov-2025 20:13:04 UTC]    Language field in books: YES
[25-Nov-2025 20:13:04 UTC]    Format field in books: YES
[25-Nov-2025 20:13:04 UTC]    Description field in categories: YES
[25-Nov-2025 20:13:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:13:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:13:04 UTC]    Is_active field in books: YES
[25-Nov-2025 20:13:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:13:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:13:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:13:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:13:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:13:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:13:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:26 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 20:20: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
[25-Nov-2025 20:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 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 20:20: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
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 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 20:20: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
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:26 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:26 UTC] 📊 Database Info:
[25-Nov-2025 20:20:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:26 UTC]    Books columns count: 45
[25-Nov-2025 20:20:26 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:26 UTC]    Language field in books: YES
[25-Nov-2025 20:20:26 UTC]    Format field in books: YES
[25-Nov-2025 20:20:26 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:20:26 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:26 UTC] 📊 Database Info:
[25-Nov-2025 20:20:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:26 UTC]    Books columns count: 45
[25-Nov-2025 20:20:26 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:26 UTC]    Language field in books: YES
[25-Nov-2025 20:20:26 UTC]    Format field in books: YES
[25-Nov-2025 20:20:26 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:26 UTC] 📊 Database Info:
[25-Nov-2025 20:20:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:26 UTC]    Books columns count: 45
[25-Nov-2025 20:20:26 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:26 UTC]    Language field in books: YES
[25-Nov-2025 20:20:26 UTC]    Format field in books: YES
[25-Nov-2025 20:20:26 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:26 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:20:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:49 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 20:20: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
[25-Nov-2025 20:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:49 UTC] 📊 Database Info:
[25-Nov-2025 20:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:49 UTC]    Books columns count: 45
[25-Nov-2025 20:20:49 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:49 UTC]    Language field in books: YES
[25-Nov-2025 20:20:49 UTC]    Format field in books: YES
[25-Nov-2025 20:20:49 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:49 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 20:20: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
[25-Nov-2025 20:20:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:49 UTC] 📊 Database Info:
[25-Nov-2025 20:20:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:49 UTC]    Books columns count: 45
[25-Nov-2025 20:20:49 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:49 UTC]    Language field in books: YES
[25-Nov-2025 20:20:49 UTC]    Format field in books: YES
[25-Nov-2025 20:20:49 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:49 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:53 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:53 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:53 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:53 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:53 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:53 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:53 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:53 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:54 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 20:20: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
[25-Nov-2025 20:20:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:54 UTC] 📊 Database Info:
[25-Nov-2025 20:20:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:54 UTC]    Books columns count: 45
[25-Nov-2025 20:20:54 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:54 UTC]    Language field in books: YES
[25-Nov-2025 20:20:54 UTC]    Format field in books: YES
[25-Nov-2025 20:20:54 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:20:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:20:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20: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
[25-Nov-2025 20:20:54 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 20:20: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
[25-Nov-2025 20:20:54 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:20:54 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:20:54 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:20:54 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:20:54 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:20:54 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:20:54 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:20:54 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:20:54 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:20:54 UTC] 📊 Database Info:
[25-Nov-2025 20:20:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:20:54 UTC]    Books columns count: 45
[25-Nov-2025 20:20:54 UTC]    Categories columns count: 7
[25-Nov-2025 20:20:54 UTC]    Language field in books: YES
[25-Nov-2025 20:20:54 UTC]    Format field in books: YES
[25-Nov-2025 20:20:54 UTC]    Description field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:20:54 UTC]    Is_active field in books: YES
[25-Nov-2025 20:20:54 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:20:54 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:20:54 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:20:54 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:20:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:20:54 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:20:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:04 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 20:22: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
[25-Nov-2025 20:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:04 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 20:22: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
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:04 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 20:22: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
[25-Nov-2025 20:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:04 UTC] 📊 Database Info:
[25-Nov-2025 20:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:04 UTC]    Books columns count: 45
[25-Nov-2025 20:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:04 UTC]    Language field in books: YES
[25-Nov-2025 20:22:04 UTC]    Format field in books: YES
[25-Nov-2025 20:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:04 UTC] 📊 Database Info:
[25-Nov-2025 20:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:04 UTC]    Books columns count: 45
[25-Nov-2025 20:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:04 UTC]    Language field in books: YES
[25-Nov-2025 20:22:04 UTC]    Format field in books: YES
[25-Nov-2025 20:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:22:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:22:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:22:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:04 UTC] 📊 Database Info:
[25-Nov-2025 20:22:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:04 UTC]    Books columns count: 45
[25-Nov-2025 20:22:04 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:04 UTC]    Language field in books: YES
[25-Nov-2025 20:22:04 UTC]    Format field in books: YES
[25-Nov-2025 20:22:04 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:04 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:22:04 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:22:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:26 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:26 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:26 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:26 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:26 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:26 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:26 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:26 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:27 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 20:22: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
[25-Nov-2025 20:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:27 UTC] 📊 Database Info:
[25-Nov-2025 20:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:27 UTC]    Books columns count: 45
[25-Nov-2025 20:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:27 UTC]    Language field in books: YES
[25-Nov-2025 20:22:27 UTC]    Format field in books: YES
[25-Nov-2025 20:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:27 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 20:22: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
[25-Nov-2025 20:22:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:27 UTC] 📊 Database Info:
[25-Nov-2025 20:22:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:27 UTC]    Books columns count: 45
[25-Nov-2025 20:22:27 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:27 UTC]    Language field in books: YES
[25-Nov-2025 20:22:27 UTC]    Format field in books: YES
[25-Nov-2025 20:22:27 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:27 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 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 20:22: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
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:34 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 20:22: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
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 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 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 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 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 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 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 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 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-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
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-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
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] 📁 جلب التصنيفات النشطة فقط
[25-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
[25-Nov-2025 20:22:35 UTC] ✅ إرجاع 2 تصنيف نشط
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-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
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:35 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:22:35 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:22:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:35 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:35 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:35 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:35 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:35 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:35 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:35 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:35 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:35 UTC] 📊 Database Info:
[25-Nov-2025 20:22:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:35 UTC]    Books columns count: 45
[25-Nov-2025 20:22:35 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:35 UTC]    Language field in books: YES
[25-Nov-2025 20:22:35 UTC]    Format field in books: YES
[25-Nov-2025 20:22:35 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:35 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:35 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:35 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:35 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:22:35 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:43 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 20:22: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
[25-Nov-2025 20:22:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:43 UTC] 📊 Database Info:
[25-Nov-2025 20:22:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:43 UTC]    Books columns count: 45
[25-Nov-2025 20:22:43 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:43 UTC]    Language field in books: YES
[25-Nov-2025 20:22:43 UTC]    Format field in books: YES
[25-Nov-2025 20:22:43 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:22:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22: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
[25-Nov-2025 20:22:43 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 20:22: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
[25-Nov-2025 20:22:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:22:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:22:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:22:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:22:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:22:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:22:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:22:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:22:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:22:43 UTC] 📊 Database Info:
[25-Nov-2025 20:22:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:22:43 UTC]    Books columns count: 45
[25-Nov-2025 20:22:43 UTC]    Categories columns count: 7
[25-Nov-2025 20:22:43 UTC]    Language field in books: YES
[25-Nov-2025 20:22:43 UTC]    Format field in books: YES
[25-Nov-2025 20:22:43 UTC]    Description field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:22:43 UTC]    Is_active field in books: YES
[25-Nov-2025 20:22:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:22:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:22:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:22:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:22:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:22:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:42 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 20:27: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
[25-Nov-2025 20:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 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 20:27: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
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:42 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 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:42 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:42 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:42 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:42 UTC] 📊 Database Info:
[25-Nov-2025 20:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:42 UTC]    Books columns count: 45
[25-Nov-2025 20:27:42 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:42 UTC]    Language field in books: YES
[25-Nov-2025 20:27:42 UTC]    Format field in books: YES
[25-Nov-2025 20:27:42 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:42 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:42 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:42 UTC] 📊 Database Info:
[25-Nov-2025 20:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:42 UTC]    Books columns count: 45
[25-Nov-2025 20:27:42 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:42 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:42 UTC]    Language field in books: YES
[25-Nov-2025 20:27:42 UTC]    Format field in books: YES
[25-Nov-2025 20:27:42 UTC] 📊 Database Info:
[25-Nov-2025 20:27:42 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Books columns count: 45
[25-Nov-2025 20:27:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:42 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:42 UTC]    Language field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:42 UTC]    Format field in books: YES
[25-Nov-2025 20:27:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:42 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:42 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:42 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:42 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:42 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:42 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:42 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:27:42 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:27:42 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:27:42 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:27:42 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:27:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:44 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 20:27: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
[25-Nov-2025 20:27:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:44 UTC] 📊 Database Info:
[25-Nov-2025 20:27:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:44 UTC]    Books columns count: 45
[25-Nov-2025 20:27:44 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:44 UTC]    Language field in books: YES
[25-Nov-2025 20:27:44 UTC]    Format field in books: YES
[25-Nov-2025 20:27:44 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:44 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:44 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:46 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 20:27: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
[25-Nov-2025 20:27:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:46 UTC] 📊 Database Info:
[25-Nov-2025 20:27:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:46 UTC]    Books columns count: 45
[25-Nov-2025 20:27:46 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:46 UTC]    Language field in books: YES
[25-Nov-2025 20:27:46 UTC]    Format field in books: YES
[25-Nov-2025 20:27:46 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:46 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}
[25-Nov-2025 20:27:46 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:27:46 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:27:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:27:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27: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
[25-Nov-2025 20:27:46 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 20:27: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
[25-Nov-2025 20:27:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:27:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:27:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:27:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:27:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:27:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:27:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:27:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:27:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:27:46 UTC] 📊 Database Info:
[25-Nov-2025 20:27:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:27:46 UTC]    Books columns count: 45
[25-Nov-2025 20:27:46 UTC]    Categories columns count: 7
[25-Nov-2025 20:27:46 UTC]    Language field in books: YES
[25-Nov-2025 20:27:46 UTC]    Format field in books: YES
[25-Nov-2025 20:27:46 UTC]    Description field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:27:46 UTC]    Is_active field in books: YES
[25-Nov-2025 20:27:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:27:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:27:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:27:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:27:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:27:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:27:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:27:46 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}
[25-Nov-2025 20:27:46 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:27:46 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:28:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:28:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:28:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:28:57 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:28:57 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:57 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:28:57 UTC] 📊 Database Info:
[25-Nov-2025 20:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:28:57 UTC]    Books columns count: 45
[25-Nov-2025 20:28:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:28:57 UTC]    Language field in books: YES
[25-Nov-2025 20:28:57 UTC]    Format field in books: YES
[25-Nov-2025 20:28:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:28:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:28:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:28:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:28:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:28:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:28:57 UTC] 📊 Database Info:
[25-Nov-2025 20:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:28:57 UTC]    Books columns count: 45
[25-Nov-2025 20:28:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:28:57 UTC]    Language field in books: YES
[25-Nov-2025 20:28:57 UTC]    Format field in books: YES
[25-Nov-2025 20:28:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:28:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:28:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:28:57 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:57 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:57 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28:57 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:28:57 UTC] 📊 Database Info:
[25-Nov-2025 20:28:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:28:57 UTC]    Books columns count: 45
[25-Nov-2025 20:28:57 UTC]    Categories columns count: 7
[25-Nov-2025 20:28:57 UTC]    Language field in books: YES
[25-Nov-2025 20:28:57 UTC]    Format field in books: YES
[25-Nov-2025 20:28:57 UTC]    Description field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:28:57 UTC]    Is_active field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:28:57 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:28:57 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:28:57 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:28:57 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:28:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:28:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:28:57 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:28:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:28:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28: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
[25-Nov-2025 20:28:59 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 20:28: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
[25-Nov-2025 20:28:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:28:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:28:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:28:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:28:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:28:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:28:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:28:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:28:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:28:59 UTC] 📊 Database Info:
[25-Nov-2025 20:28:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:28:59 UTC]    Books columns count: 45
[25-Nov-2025 20:28:59 UTC]    Categories columns count: 7
[25-Nov-2025 20:28:59 UTC]    Language field in books: YES
[25-Nov-2025 20:28:59 UTC]    Format field in books: YES
[25-Nov-2025 20:28:59 UTC]    Description field in categories: YES
[25-Nov-2025 20:28:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:28:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:28:59 UTC]    Is_active field in books: YES
[25-Nov-2025 20:28:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:28:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:28:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:28:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:28:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:28:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:28:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:28:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:29:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:29:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:29:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:29:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:29:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:29:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:29:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:29:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:29:01 UTC] 📊 Database Info:
[25-Nov-2025 20:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:29:01 UTC]    Books columns count: 45
[25-Nov-2025 20:29:01 UTC]    Categories columns count: 7
[25-Nov-2025 20:29:01 UTC]    Language field in books: YES
[25-Nov-2025 20:29:01 UTC]    Format field in books: YES
[25-Nov-2025 20:29:01 UTC]    Description field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Is_active field in books: YES
[25-Nov-2025 20:29:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:29:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:29:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:29:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:29:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:29:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:29:01 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}
[25-Nov-2025 20:29:01 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:29:01 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:29:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:29:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:29:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:29:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:29:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:29:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:29:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:29:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:29:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:29:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:29:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:29:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:29:01 UTC] 📊 Database Info:
[25-Nov-2025 20:29:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:29:01 UTC]    Books columns count: 45
[25-Nov-2025 20:29:01 UTC]    Categories columns count: 7
[25-Nov-2025 20:29:01 UTC]    Language field in books: YES
[25-Nov-2025 20:29:01 UTC]    Format field in books: YES
[25-Nov-2025 20:29:01 UTC]    Description field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:29:01 UTC]    Is_active field in books: YES
[25-Nov-2025 20:29:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:29:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:29:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:29:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:29:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:29:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:29:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:29:01 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}
[25-Nov-2025 20:29:01 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:29:01 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:30:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:30:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:30:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:30:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:30:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:30:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:30:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:30:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:30:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:30:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:30:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:30:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:30:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:30:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:30:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:30:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:30:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:30:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:30:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:30:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:30:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:30:21 UTC] 📊 Database Info:
[25-Nov-2025 20:30:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:30:21 UTC]    Books columns count: 45
[25-Nov-2025 20:30:21 UTC]    Categories columns count: 7
[25-Nov-2025 20:30:21 UTC]    Language field in books: YES
[25-Nov-2025 20:30:21 UTC]    Format field in books: YES
[25-Nov-2025 20:30:21 UTC]    Description field in categories: YES
[25-Nov-2025 20:30:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:30:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:30:21 UTC]    Is_active field in books: YES
[25-Nov-2025 20:30:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:30:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:30:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:30:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:30:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:30:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:30:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:17 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 20:34: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
[25-Nov-2025 20:34:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:17 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 20:34: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
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:17 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 20:34: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
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:17 UTC] 📊 Database Info:
[25-Nov-2025 20:34:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:17 UTC]    Books columns count: 45
[25-Nov-2025 20:34:17 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:17 UTC]    Language field in books: YES
[25-Nov-2025 20:34:17 UTC]    Format field in books: YES
[25-Nov-2025 20:34:17 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:17 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:17 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:17 UTC] 📊 Database Info:
[25-Nov-2025 20:34:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:17 UTC]    Books columns count: 45
[25-Nov-2025 20:34:17 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:17 UTC]    Language field in books: YES
[25-Nov-2025 20:34:17 UTC]    Format field in books: YES
[25-Nov-2025 20:34:17 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:17 UTC] 📊 Database Info:
[25-Nov-2025 20:34:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:17 UTC]    Books columns count: 45
[25-Nov-2025 20:34:17 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:17 UTC]    Language field in books: YES
[25-Nov-2025 20:34:17 UTC]    Format field in books: YES
[25-Nov-2025 20:34:17 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:17 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:19 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 20:34: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
[25-Nov-2025 20:34:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:19 UTC] 📊 Database Info:
[25-Nov-2025 20:34:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:19 UTC]    Books columns count: 45
[25-Nov-2025 20:34:19 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:19 UTC]    Language field in books: YES
[25-Nov-2025 20:34:19 UTC]    Format field in books: YES
[25-Nov-2025 20:34:19 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:19 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:23 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 20:34: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
[25-Nov-2025 20:34:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 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 20:34: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
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 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 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34: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
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:23 UTC] 📊 Database Info:
[25-Nov-2025 20:34:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:23 UTC]    Books columns count: 45
[25-Nov-2025 20:34:23 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:23 UTC]    Language field in books: YES
[25-Nov-2025 20:34:23 UTC]    Format field in books: YES
[25-Nov-2025 20:34:23 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:23 UTC] 📊 Database Info:
[25-Nov-2025 20:34:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:23 UTC]    Books columns count: 45
[25-Nov-2025 20:34:23 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:23 UTC]    Language field in books: YES
[25-Nov-2025 20:34:23 UTC]    Format field in books: YES
[25-Nov-2025 20:34:23 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:23 UTC] 📊 Database Info:
[25-Nov-2025 20:34:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:23 UTC]    Books columns count: 45
[25-Nov-2025 20:34:23 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:23 UTC]    Language field in books: YES
[25-Nov-2025 20:34:23 UTC]    Format field in books: YES
[25-Nov-2025 20:34:23 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:23 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:34:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:23 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:23 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:28 UTC] 📊 Database Info:
[25-Nov-2025 20:34:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:28 UTC]    Books columns count: 45
[25-Nov-2025 20:34:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:28 UTC]    Language field in books: YES
[25-Nov-2025 20:34:28 UTC]    Format field in books: YES
[25-Nov-2025 20:34:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:28 UTC] 📊 Database Info:
[25-Nov-2025 20:34:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:28 UTC]    Books columns count: 45
[25-Nov-2025 20:34:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:28 UTC]    Language field in books: YES
[25-Nov-2025 20:34:28 UTC]    Format field in books: YES
[25-Nov-2025 20:34:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:28 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:28 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:28 UTC] 📊 Database Info:
[25-Nov-2025 20:34:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:28 UTC]    Books columns count: 45
[25-Nov-2025 20:34:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:28 UTC]    Language field in books: YES
[25-Nov-2025 20:34:28 UTC]    Format field in books: YES
[25-Nov-2025 20:34:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:30 UTC] 📊 Database Info:
[25-Nov-2025 20:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:30 UTC]    Books columns count: 45
[25-Nov-2025 20:34:30 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:30 UTC]    Language field in books: YES
[25-Nov-2025 20:34:30 UTC]    Format field in books: YES
[25-Nov-2025 20:34:30 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:30 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:52 UTC] 📊 Database Info:
[25-Nov-2025 20:34:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:52 UTC]    Books columns count: 45
[25-Nov-2025 20:34:52 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:52 UTC]    Language field in books: YES
[25-Nov-2025 20:34:52 UTC]    Format field in books: YES
[25-Nov-2025 20:34:52 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:52 UTC] 📊 Database Info:
[25-Nov-2025 20:34:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:52 UTC]    Books columns count: 45
[25-Nov-2025 20:34:52 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:52 UTC]    Language field in books: YES
[25-Nov-2025 20:34:52 UTC]    Format field in books: YES
[25-Nov-2025 20:34:52 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:52 UTC] 📊 Database Info:
[25-Nov-2025 20:34:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:52 UTC]    Books columns count: 45
[25-Nov-2025 20:34:52 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:52 UTC]    Language field in books: YES
[25-Nov-2025 20:34:52 UTC]    Format field in books: YES
[25-Nov-2025 20:34:52 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:52 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:52 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:52 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:34:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:55 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:34:55 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:34:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:34:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:34:55 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:34:55 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:34:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:34:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:34:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:34:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:34:55 UTC] 📊 Database Info:
[25-Nov-2025 20:34:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:34:55 UTC]    Books columns count: 45
[25-Nov-2025 20:34:55 UTC]    Categories columns count: 7
[25-Nov-2025 20:34:55 UTC]    Language field in books: YES
[25-Nov-2025 20:34:55 UTC]    Format field in books: YES
[25-Nov-2025 20:34:55 UTC]    Description field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:34:55 UTC]    Is_active field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:34:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:34:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:34:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:34:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:34:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:35:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:35:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:35:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:35:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:35:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:35:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:35:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:35:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:35:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:35:27 UTC] 📊 Database Info:
[25-Nov-2025 20:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:35:27 UTC]    Books columns count: 45
[25-Nov-2025 20:35:27 UTC]    Categories columns count: 7
[25-Nov-2025 20:35:27 UTC]    Language field in books: YES
[25-Nov-2025 20:35:27 UTC]    Format field in books: YES
[25-Nov-2025 20:35:27 UTC]    Description field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:35:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:35:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:35:27 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:35:27 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:35:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:35:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:35:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:35:27 UTC] 📊 Database Info:
[25-Nov-2025 20:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:35:27 UTC]    Books columns count: 45
[25-Nov-2025 20:35:27 UTC]    Categories columns count: 7
[25-Nov-2025 20:35:27 UTC]    Language field in books: YES
[25-Nov-2025 20:35:27 UTC]    Format field in books: YES
[25-Nov-2025 20:35:27 UTC]    Description field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:35:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:35:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:35:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:35:27 UTC] 📊 Database Info:
[25-Nov-2025 20:35:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:35:27 UTC]    Books columns count: 45
[25-Nov-2025 20:35:27 UTC]    Categories columns count: 7
[25-Nov-2025 20:35:27 UTC]    Language field in books: YES
[25-Nov-2025 20:35:27 UTC]    Format field in books: YES
[25-Nov-2025 20:35:27 UTC]    Description field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:35:27 UTC]    Is_active field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:35:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:35:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:35:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:35:27 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:35:27 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:35:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:35:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:35:27 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:38:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:38:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:38:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:38:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:38: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
[25-Nov-2025 20:38:00 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 20:38: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
[25-Nov-2025 20:38:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:38:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:38:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:38:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:38:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:38:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:38:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:38:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:38:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:38:00 UTC] 📊 Database Info:
[25-Nov-2025 20:38:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:38:00 UTC]    Books columns count: 45
[25-Nov-2025 20:38:00 UTC]    Categories columns count: 7
[25-Nov-2025 20:38:00 UTC]    Language field in books: YES
[25-Nov-2025 20:38:00 UTC]    Format field in books: YES
[25-Nov-2025 20:38:00 UTC]    Description field in categories: YES
[25-Nov-2025 20:38:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:38:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:38:00 UTC]    Is_active field in books: YES
[25-Nov-2025 20:38:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:38:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:38:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:38:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:38:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:38:00 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:38:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:38:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:38:00 UTC] ?? GLOBAL AUTH UPDATE: Setting require_login_for_download to 0 for ALL books
[25-Nov-2025 20:38:00 UTC] ✅ Global auth update completed: 0 books updated
[25-Nov-2025 20:38:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:38:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:38:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:38:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:38:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:38:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:38:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:38:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:38:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:38:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:38:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:38:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:38:01 UTC] 📊 Database Info:
[25-Nov-2025 20:38:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:38:01 UTC]    Books columns count: 45
[25-Nov-2025 20:38:01 UTC]    Categories columns count: 7
[25-Nov-2025 20:38:01 UTC]    Language field in books: YES
[25-Nov-2025 20:38:01 UTC]    Format field in books: YES
[25-Nov-2025 20:38:01 UTC]    Description field in categories: YES
[25-Nov-2025 20:38:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:38:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:38:01 UTC]    Is_active field in books: YES
[25-Nov-2025 20:38:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:38:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:38:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:38:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:38:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:38:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:38:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:40:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:40:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:40:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:40:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:40:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:40:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:40:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:40:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:40:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:40:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:40:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:40:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:40:06 UTC] 📊 Database Info:
[25-Nov-2025 20:40:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:40:06 UTC]    Books columns count: 45
[25-Nov-2025 20:40:06 UTC]    Categories columns count: 7
[25-Nov-2025 20:40:06 UTC]    Language field in books: YES
[25-Nov-2025 20:40:06 UTC]    Format field in books: YES
[25-Nov-2025 20:40:06 UTC]    Description field in categories: YES
[25-Nov-2025 20:40:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:40:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:40:06 UTC]    Is_active field in books: YES
[25-Nov-2025 20:40:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:40:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:40:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:40:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:40:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:40:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:40:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:40:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:40:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:40:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:40:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:40:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:40:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:40:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:40:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:40:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:40:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:40:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:40:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:40:07 UTC] 📊 Database Info:
[25-Nov-2025 20:40:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:40:07 UTC]    Books columns count: 45
[25-Nov-2025 20:40:07 UTC]    Categories columns count: 7
[25-Nov-2025 20:40:07 UTC]    Language field in books: YES
[25-Nov-2025 20:40:07 UTC]    Format field in books: YES
[25-Nov-2025 20:40:07 UTC]    Description field in categories: YES
[25-Nov-2025 20:40:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:40:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:40:07 UTC]    Is_active field in books: YES
[25-Nov-2025 20:40:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:40:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:40:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:40:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:40:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:40:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:40:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 20:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:22 UTC] 📊 Database Info:
[25-Nov-2025 20:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:22 UTC]    Books columns count: 45
[25-Nov-2025 20:49:22 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:22 UTC]    Language field in books: YES
[25-Nov-2025 20:49:22 UTC]    Format field in books: YES
[25-Nov-2025 20:49:22 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:49:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:49:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:49:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:22 UTC] 📊 Database Info:
[25-Nov-2025 20:49:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:22 UTC]    Books columns count: 45
[25-Nov-2025 20:49:22 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:22 UTC]    Language field in books: YES
[25-Nov-2025 20:49:22 UTC]    Format field in books: YES
[25-Nov-2025 20:49:22 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:22 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:28 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 20:49: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
[25-Nov-2025 20:49:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 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 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 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 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:28 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:28 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:28 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:28 UTC] 📊 Database Info:
[25-Nov-2025 20:49:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:28 UTC]    Books columns count: 45
[25-Nov-2025 20:49:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:28 UTC]    Language field in books: YES
[25-Nov-2025 20:49:28 UTC]    Format field in books: YES
[25-Nov-2025 20:49:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:49:28 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:28 UTC] 📊 Database Info:
[25-Nov-2025 20:49:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:28 UTC]    Books columns count: 45
[25-Nov-2025 20:49:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:28 UTC]    Language field in books: YES
[25-Nov-2025 20:49:28 UTC]    Format field in books: YES
[25-Nov-2025 20:49:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:28 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:28 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:28 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:28 UTC] 📊 Database Info:
[25-Nov-2025 20:49:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:28 UTC]    Books columns count: 45
[25-Nov-2025 20:49:28 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:28 UTC]    Language field in books: YES
[25-Nov-2025 20:49:28 UTC]    Format field in books: YES
[25-Nov-2025 20:49:28 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:28 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:28 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:28 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:28 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:28 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:49:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:49:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:49:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:34 UTC] 📊 Database Info:
[25-Nov-2025 20:49:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:34 UTC]    Books columns count: 45
[25-Nov-2025 20:49:34 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:34 UTC]    Language field in books: YES
[25-Nov-2025 20:49:34 UTC]    Format field in books: YES
[25-Nov-2025 20:49:34 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:49:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:34 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:49:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:34 UTC] 📊 Database Info:
[25-Nov-2025 20:49:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:34 UTC]    Books columns count: 45
[25-Nov-2025 20:49:34 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:34 UTC]    Language field in books: YES
[25-Nov-2025 20:49:34 UTC]    Format field in books: YES
[25-Nov-2025 20:49:34 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:34 UTC] 📊 Database Info:
[25-Nov-2025 20:49:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:34 UTC]    Books columns count: 45
[25-Nov-2025 20:49:34 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:34 UTC]    Language field in books: YES
[25-Nov-2025 20:49:34 UTC]    Format field in books: YES
[25-Nov-2025 20:49:34 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:34 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:49:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:49:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:49:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49: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
[25-Nov-2025 20:49:37 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 20:49: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
[25-Nov-2025 20:49:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:37 UTC] 📊 Database Info:
[25-Nov-2025 20:49:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:37 UTC]    Books columns count: 45
[25-Nov-2025 20:49:37 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:37 UTC]    Language field in books: YES
[25-Nov-2025 20:49:37 UTC]    Format field in books: YES
[25-Nov-2025 20:49:37 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:37 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:49:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:44 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:44 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:44 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:44 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:44 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:44 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:44 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:44 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:44 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:44 UTC] 📊 Database Info:
[25-Nov-2025 20:49:44 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:44 UTC]    Books columns count: 45
[25-Nov-2025 20:49:44 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:44 UTC]    Language field in books: YES
[25-Nov-2025 20:49:44 UTC]    Format field in books: YES
[25-Nov-2025 20:49:44 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:44 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:44 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:44 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:44 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:44 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:44 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:44 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:44 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:44 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:47 UTC] 📊 Database Info:
[25-Nov-2025 20:49:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:47 UTC]    Books columns count: 45
[25-Nov-2025 20:49:47 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:47 UTC]    Language field in books: YES
[25-Nov-2025 20:49:47 UTC]    Format field in books: YES
[25-Nov-2025 20:49:47 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49: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}
[25-Nov-2025 20:49:47 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:49:47 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:49:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:49:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:49:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:49:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:49:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:49:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:49:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:49:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:49:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:49:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:49:47 UTC] 📊 Database Info:
[25-Nov-2025 20:49:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:49:47 UTC]    Books columns count: 45
[25-Nov-2025 20:49:47 UTC]    Categories columns count: 7
[25-Nov-2025 20:49:47 UTC]    Language field in books: YES
[25-Nov-2025 20:49:47 UTC]    Format field in books: YES
[25-Nov-2025 20:49:47 UTC]    Description field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:49:47 UTC]    Is_active field in books: YES
[25-Nov-2025 20:49:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:49:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:49:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:49:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:49:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:49:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:49:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:49: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}
[25-Nov-2025 20:49:47 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:49:47 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 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 20:53: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
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 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 20:53: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
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 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 20:53: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
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 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 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 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 20:53: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
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 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 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:53:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:41 UTC] 📊 Database Info:
[25-Nov-2025 20:53:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:41 UTC]    Books columns count: 45
[25-Nov-2025 20:53:41 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:41 UTC]    Language field in books: YES
[25-Nov-2025 20:53:41 UTC]    Format field in books: YES
[25-Nov-2025 20:53:41 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:41 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:53:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:53:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53: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
[25-Nov-2025 20:53:43 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 20:53: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
[25-Nov-2025 20:53:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:43 UTC] 📊 Database Info:
[25-Nov-2025 20:53:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:43 UTC]    Books columns count: 45
[25-Nov-2025 20:53:43 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:43 UTC]    Language field in books: YES
[25-Nov-2025 20:53:43 UTC]    Format field in books: YES
[25-Nov-2025 20:53:43 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:43 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:53:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:50 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:50 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:50 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:50 UTC] 📊 Database Info:
[25-Nov-2025 20:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:50 UTC]    Books columns count: 45
[25-Nov-2025 20:53:50 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:50 UTC]    Language field in books: YES
[25-Nov-2025 20:53:50 UTC]    Format field in books: YES
[25-Nov-2025 20:53:50 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:50 UTC] 📊 Database Info:
[25-Nov-2025 20:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:50 UTC]    Books columns count: 45
[25-Nov-2025 20:53:50 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:50 UTC]    Language field in books: YES
[25-Nov-2025 20:53:50 UTC]    Format field in books: YES
[25-Nov-2025 20:53:50 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:50 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:50 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:50 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:50 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:50 UTC] 📊 Database Info:
[25-Nov-2025 20:53:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:50 UTC]    Books columns count: 45
[25-Nov-2025 20:53:50 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:50 UTC]    Language field in books: YES
[25-Nov-2025 20:53:50 UTC]    Format field in books: YES
[25-Nov-2025 20:53:50 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:50 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:50 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:50 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:50 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:50 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:53:50 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 20:53:50 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 20:53:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:53:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:51 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:53:51 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:53:51 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:53:51 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:53:51 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:53:51 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:53:51 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:53:51 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:53:51 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:53:51 UTC] 📊 Database Info:
[25-Nov-2025 20:53:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:53:51 UTC]    Books columns count: 45
[25-Nov-2025 20:53:51 UTC]    Categories columns count: 7
[25-Nov-2025 20:53:51 UTC]    Language field in books: YES
[25-Nov-2025 20:53:51 UTC]    Format field in books: YES
[25-Nov-2025 20:53:51 UTC]    Description field in categories: YES
[25-Nov-2025 20:53:51 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:53:51 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:53:51 UTC]    Is_active field in books: YES
[25-Nov-2025 20:53:51 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:53:51 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:53:51 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:53:51 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:53:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:53:51 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:53:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:54:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:18 UTC] 📊 Database Info:
[25-Nov-2025 20:54:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:18 UTC]    Books columns count: 45
[25-Nov-2025 20:54:18 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:18 UTC]    Language field in books: YES
[25-Nov-2025 20:54:18 UTC]    Format field in books: YES
[25-Nov-2025 20:54:18 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:54:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:54:18 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:18 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:18 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:18 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:18 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:18 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:18 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:18 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:18 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:18 UTC] 📊 Database Info:
[25-Nov-2025 20:54:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:18 UTC]    Books columns count: 45
[25-Nov-2025 20:54:18 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:18 UTC]    Language field in books: YES
[25-Nov-2025 20:54:18 UTC]    Format field in books: YES
[25-Nov-2025 20:54:18 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:18 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:18 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:18 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:18 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:18 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20: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
[25-Nov-2025 20:54:18 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:22 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 20:54: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
[25-Nov-2025 20:54:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 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 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 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 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:22 UTC] 📊 Database Info:
[25-Nov-2025 20:54:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:22 UTC]    Books columns count: 45
[25-Nov-2025 20:54:22 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:22 UTC]    Language field in books: YES
[25-Nov-2025 20:54:22 UTC]    Format field in books: YES
[25-Nov-2025 20:54:22 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:54:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:54:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:22 UTC] 📊 Database Info:
[25-Nov-2025 20:54:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:22 UTC]    Books columns count: 45
[25-Nov-2025 20:54:22 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:22 UTC]    Language field in books: YES
[25-Nov-2025 20:54:22 UTC]    Format field in books: YES
[25-Nov-2025 20:54:22 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:54:22 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:54:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:22 UTC] 📊 Database Info:
[25-Nov-2025 20:54:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:22 UTC]    Books columns count: 45
[25-Nov-2025 20:54:22 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:22 UTC]    Language field in books: YES
[25-Nov-2025 20:54:22 UTC]    Format field in books: YES
[25-Nov-2025 20:54:22 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:22 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:23 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 20:54: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
[25-Nov-2025 20:54:23 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:23 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:23 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:23 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:23 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:23 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:23 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:23 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:23 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:23 UTC] 📊 Database Info:
[25-Nov-2025 20:54:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:23 UTC]    Books columns count: 45
[25-Nov-2025 20:54:23 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:23 UTC]    Language field in books: YES
[25-Nov-2025 20:54:23 UTC]    Format field in books: YES
[25-Nov-2025 20:54:23 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:23 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:23 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:23 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:23 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:23 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:23 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:23 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:23 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:25 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 20:54: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
[25-Nov-2025 20:54:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:25 UTC] 📊 Database Info:
[25-Nov-2025 20:54:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:25 UTC]    Books columns count: 45
[25-Nov-2025 20:54:25 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:25 UTC]    Language field in books: YES
[25-Nov-2025 20:54:25 UTC]    Format field in books: YES
[25-Nov-2025 20:54:25 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54: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}
[25-Nov-2025 20:54:25 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:54:25 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:54:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:54:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54: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
[25-Nov-2025 20:54:25 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 20:54: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
[25-Nov-2025 20:54:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:54:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:54:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:54:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:54:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:54:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:54:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:54:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:54:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:54:25 UTC] 📊 Database Info:
[25-Nov-2025 20:54:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:54:25 UTC]    Books columns count: 45
[25-Nov-2025 20:54:25 UTC]    Categories columns count: 7
[25-Nov-2025 20:54:25 UTC]    Language field in books: YES
[25-Nov-2025 20:54:25 UTC]    Format field in books: YES
[25-Nov-2025 20:54:25 UTC]    Description field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:54:25 UTC]    Is_active field in books: YES
[25-Nov-2025 20:54:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:54:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:54:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:54:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:54:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:54:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:54:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:54: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}
[25-Nov-2025 20:54:25 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:54:25 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:59:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:29 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 20:59:29 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 20:59: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
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 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 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:29 UTC] 📊 Database Info:
[25-Nov-2025 20:59:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:29 UTC]    Books columns count: 45
[25-Nov-2025 20:59:29 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:29 UTC]    Language field in books: YES
[25-Nov-2025 20:59:29 UTC]    Format field in books: YES
[25-Nov-2025 20:59:29 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 20:59:29 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 20:59:29 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:29 UTC] 📊 Database Info:
[25-Nov-2025 20:59:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:29 UTC]    Books columns count: 45
[25-Nov-2025 20:59:29 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:29 UTC]    Language field in books: YES
[25-Nov-2025 20:59:29 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:29 UTC]    Format field in books: YES
[25-Nov-2025 20:59:29 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:29 UTC] 📊 Database Info:
[25-Nov-2025 20:59:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Books columns count: 45
[25-Nov-2025 20:59:29 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:29 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:29 UTC]    Language field in books: YES
[25-Nov-2025 20:59:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:29 UTC]    Format field in books: YES
[25-Nov-2025 20:59:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:29 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:29 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:29 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:29 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:29 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:29 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59:29 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 20:59:29 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59:29 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 20:59:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:29 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:29 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:29 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 20:59: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
[25-Nov-2025 20:59:29 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:29 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:30 UTC] 📊 Database Info:
[25-Nov-2025 20:59:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:30 UTC]    Books columns count: 45
[25-Nov-2025 20:59:30 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:30 UTC]    Language field in books: YES
[25-Nov-2025 20:59:30 UTC]    Format field in books: YES
[25-Nov-2025 20:59:30 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:30 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:32 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 20:59: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
[25-Nov-2025 20:59:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:32 UTC] 📊 Database Info:
[25-Nov-2025 20:59:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:32 UTC]    Books columns count: 45
[25-Nov-2025 20:59:32 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:32 UTC]    Language field in books: YES
[25-Nov-2025 20:59:32 UTC]    Format field in books: YES
[25-Nov-2025 20:59:32 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:32 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59: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":false}
[25-Nov-2025 20:59:32 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 20:59:32 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 20:59:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 20:59:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59: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
[25-Nov-2025 20:59:33 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 20:59: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
[25-Nov-2025 20:59:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 20:59:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 20:59:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 20:59:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 20:59:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 20:59:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 20:59:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 20:59:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 20:59:33 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 20:59:33 UTC] 📊 Database Info:
[25-Nov-2025 20:59:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 20:59:33 UTC]    Books columns count: 45
[25-Nov-2025 20:59:33 UTC]    Categories columns count: 7
[25-Nov-2025 20:59:33 UTC]    Language field in books: YES
[25-Nov-2025 20:59:33 UTC]    Format field in books: YES
[25-Nov-2025 20:59:33 UTC]    Description field in categories: YES
[25-Nov-2025 20:59:33 UTC]    Display_order field in categories: YES
[25-Nov-2025 20:59:33 UTC]    Is_active field in categories: YES
[25-Nov-2025 20:59:33 UTC]    Is_active field in books: YES
[25-Nov-2025 20:59:33 UTC]    External_download_link field in books: YES
[25-Nov-2025 20:59:33 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 20:59:33 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 20:59:33 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 20:59:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 20:59:33 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 20:59:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 20:59:33 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}
[25-Nov-2025 20:59:33 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 20:59:33 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:00:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:17 UTC] 📊 Database Info:
[25-Nov-2025 21:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:17 UTC]    Books columns count: 45
[25-Nov-2025 21:00:17 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:17 UTC]    Language field in books: YES
[25-Nov-2025 21:00:17 UTC]    Format field in books: YES
[25-Nov-2025 21:00:17 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00: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":false}
[25-Nov-2025 21:00:17 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 21:00:17 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:00:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:17 UTC] 📊 Database Info:
[25-Nov-2025 21:00:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:17 UTC]    Books columns count: 45
[25-Nov-2025 21:00:17 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:17 UTC]    Language field in books: YES
[25-Nov-2025 21:00:17 UTC]    Format field in books: YES
[25-Nov-2025 21:00:17 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:17 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00: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}
[25-Nov-2025 21:00:17 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 21:00:17 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:55 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:55 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:55 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:55 UTC] 📊 Database Info:
[25-Nov-2025 21:00:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:55 UTC]    Books columns count: 45
[25-Nov-2025 21:00:55 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:55 UTC]    Language field in books: YES
[25-Nov-2025 21:00:55 UTC]    Format field in books: YES
[25-Nov-2025 21:00:55 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:55 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:55 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:55 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:55 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:55 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:55 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:55 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:55 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00:55 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}
[25-Nov-2025 21:00:55 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 21:00:55 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:00:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:55 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:55 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:55 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:55 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:55 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:55 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21:00:56 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 21:00: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
[25-Nov-2025 21:00:56 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:56 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:56 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:56 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:56 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:56 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:56 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:56 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:56 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:56 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:56 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:56 UTC] 📊 Database Info:
[25-Nov-2025 21:00:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:56 UTC]    Books columns count: 45
[25-Nov-2025 21:00:56 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:56 UTC]    Language field in books: YES
[25-Nov-2025 21:00:56 UTC]    Format field in books: YES
[25-Nov-2025 21:00:56 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:56 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:56 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:56 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:56 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:56 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:56 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:56 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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_title ON books(title)' at line 1
[25-Nov-2025 21: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_category ON books(category_id)' at line 1
[25-Nov-2025 21: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_profile_category ON books(profile_category_id)' at line 1
[25-Nov-2025 21: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_language ON books(language)' at line 1
[25-Nov-2025 21: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_format ON books(format)' at line 1
[25-Nov-2025 21: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_download_count ON books(download_count)' at line 1
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:56 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00:56 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}
[25-Nov-2025 21:00:56 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 21:00:56 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:00:59 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:00:59 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:00:59 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:59 UTC] 📊 Database Info:
[25-Nov-2025 21:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:59 UTC]    Books columns count: 45
[25-Nov-2025 21:00:59 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:59 UTC]    Language field in books: YES
[25-Nov-2025 21:00:59 UTC]    Format field in books: YES
[25-Nov-2025 21:00:59 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 21:00:59 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:59 UTC] 📊 Database Info:
[25-Nov-2025 21:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:59 UTC]    Books columns count: 45
[25-Nov-2025 21:00:59 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:59 UTC]    Language field in books: YES
[25-Nov-2025 21:00:59 UTC]    Format field in books: YES
[25-Nov-2025 21:00:59 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00:59 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:00:59 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:00:59 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:00:59 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:00:59 UTC] 📊 Database Info:
[25-Nov-2025 21:00:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:00:59 UTC]    Books columns count: 45
[25-Nov-2025 21:00:59 UTC]    Categories columns count: 7
[25-Nov-2025 21:00:59 UTC]    Language field in books: YES
[25-Nov-2025 21:00:59 UTC]    Format field in books: YES
[25-Nov-2025 21:00:59 UTC]    Description field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:00:59 UTC]    Is_active field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:00:59 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:00:59 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:00:59 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:00:59 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:00:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:00:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 21:00:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 21:00:59 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 21:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:01:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:01:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:01:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:01:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:01:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:01:01 UTC] 📊 Database Info:
[25-Nov-2025 21:01:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:01:01 UTC]    Books columns count: 45
[25-Nov-2025 21:01:01 UTC]    Categories columns count: 7
[25-Nov-2025 21:01:01 UTC]    Language field in books: YES
[25-Nov-2025 21:01:01 UTC]    Format field in books: YES
[25-Nov-2025 21:01:01 UTC]    Description field in categories: YES
[25-Nov-2025 21:01:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:01:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:01:01 UTC]    Is_active field in books: YES
[25-Nov-2025 21:01:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:01:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:01:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:01:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:01:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:01:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:01:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:01:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:01:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:01: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
[25-Nov-2025 21:01:03 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 21:01: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
[25-Nov-2025 21:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:01:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:01:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:01:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:01:03 UTC] 📊 Database Info:
[25-Nov-2025 21:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:01:03 UTC]    Books columns count: 45
[25-Nov-2025 21:01:03 UTC]    Categories columns count: 7
[25-Nov-2025 21:01:03 UTC]    Language field in books: YES
[25-Nov-2025 21:01:03 UTC]    Format field in books: YES
[25-Nov-2025 21:01:03 UTC]    Description field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Is_active field in books: YES
[25-Nov-2025 21:01:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:01:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:01:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:01:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:01:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:01:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:01:03 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}
[25-Nov-2025 21:01:03 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 21:01:03 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:01:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:01:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:01: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
[25-Nov-2025 21:01:03 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 21:01: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
[25-Nov-2025 21:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:01:03 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:01:03 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:01:03 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:01:03 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:01:03 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:01:03 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:01:03 UTC] 📊 Database Info:
[25-Nov-2025 21:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:01:03 UTC]    Books columns count: 45
[25-Nov-2025 21:01:03 UTC]    Categories columns count: 7
[25-Nov-2025 21:01:03 UTC]    Language field in books: YES
[25-Nov-2025 21:01:03 UTC]    Format field in books: YES
[25-Nov-2025 21:01:03 UTC]    Description field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:01:03 UTC]    Is_active field in books: YES
[25-Nov-2025 21:01:03 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:01:03 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:01:03 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:01:03 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:01:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:01:03 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:01:03 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}
[25-Nov-2025 21:01:03 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 21:01:03 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 21:04:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:04:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:04:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:04:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:04: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
[25-Nov-2025 21:04:37 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 21:04: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
[25-Nov-2025 21:04:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:04:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:04:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:04:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:04:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:04:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:04:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:04:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:04:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:04:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:04:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:04:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:04:38 UTC] 📊 Database Info:
[25-Nov-2025 21:04:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:04:38 UTC]    Books columns count: 45
[25-Nov-2025 21:04:38 UTC]    Categories columns count: 7
[25-Nov-2025 21:04:38 UTC]    Language field in books: YES
[25-Nov-2025 21:04:38 UTC]    Format field in books: YES
[25-Nov-2025 21:04:38 UTC]    Description field in categories: YES
[25-Nov-2025 21:04:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:04:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:04:38 UTC]    Is_active field in books: YES
[25-Nov-2025 21:04:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:04:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:04:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:04:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:04:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:04:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:04:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:04:38 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 21:04:38 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 21:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:44:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:44:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:44:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:44:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:44:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:44:32 UTC] 📊 Database Info:
[25-Nov-2025 21:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:44:32 UTC]    Books columns count: 45
[25-Nov-2025 21:44:32 UTC]    Categories columns count: 7
[25-Nov-2025 21:44:32 UTC]    Language field in books: YES
[25-Nov-2025 21:44:32 UTC]    Format field in books: YES
[25-Nov-2025 21:44:32 UTC]    Description field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:44:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:44:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:44:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 21:44:32 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:44:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:44:32 UTC] 📊 Database Info:
[25-Nov-2025 21:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:44:32 UTC]    Books columns count: 45
[25-Nov-2025 21:44:32 UTC]    Categories columns count: 7
[25-Nov-2025 21:44:32 UTC]    Language field in books: YES
[25-Nov-2025 21:44:32 UTC]    Format field in books: YES
[25-Nov-2025 21:44:32 UTC]    Description field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:44:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:44:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:44:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 21:44:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 21:44:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 21:44:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:44:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:44:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:44:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:44:32 UTC] 📊 Database Info:
[25-Nov-2025 21:44:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:44:32 UTC]    Books columns count: 45
[25-Nov-2025 21:44:32 UTC]    Categories columns count: 7
[25-Nov-2025 21:44:32 UTC]    Language field in books: YES
[25-Nov-2025 21:44:32 UTC]    Format field in books: YES
[25-Nov-2025 21:44:32 UTC]    Description field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:44:32 UTC]    Is_active field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:44:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:44:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:44:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:44:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:44:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:01 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 21:45: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
[25-Nov-2025 21:45:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:01 UTC] 📊 Database Info:
[25-Nov-2025 21:45:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:01 UTC]    Books columns count: 45
[25-Nov-2025 21:45:01 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:01 UTC]    Language field in books: YES
[25-Nov-2025 21:45:01 UTC]    Format field in books: YES
[25-Nov-2025 21:45:01 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:01 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 21:45: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
[25-Nov-2025 21:45:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:01 UTC] 📊 Database Info:
[25-Nov-2025 21:45:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:01 UTC]    Books columns count: 45
[25-Nov-2025 21:45:01 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:01 UTC]    Language field in books: YES
[25-Nov-2025 21:45:01 UTC]    Format field in books: YES
[25-Nov-2025 21:45:01 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:01 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:16 UTC] 📊 Database Info:
[25-Nov-2025 21:45:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:16 UTC]    Books columns count: 45
[25-Nov-2025 21:45:16 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:16 UTC]    Language field in books: YES
[25-Nov-2025 21:45:16 UTC]    Format field in books: YES
[25-Nov-2025 21:45:16 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:16 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 21:45:17 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:17 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:17 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:17 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:17 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:17 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:17 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:17 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:17 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:17 UTC] 📊 Database Info:
[25-Nov-2025 21:45:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:17 UTC]    Books columns count: 45
[25-Nov-2025 21:45:17 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:17 UTC]    Language field in books: YES
[25-Nov-2025 21:45:17 UTC]    Format field in books: YES
[25-Nov-2025 21:45:17 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:17 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:17 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:17 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:17 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:17 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:17 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:17 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:17 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 21:45:17 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:22 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 21:45: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
[25-Nov-2025 21:45:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:22 UTC] 📊 Database Info:
[25-Nov-2025 21:45:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:22 UTC]    Books columns count: 45
[25-Nov-2025 21:45:22 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:22 UTC]    Language field in books: YES
[25-Nov-2025 21:45:22 UTC]    Format field in books: YES
[25-Nov-2025 21:45:22 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:22 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 21:45: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
[25-Nov-2025 21:45:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:22 UTC] 📊 Database Info:
[25-Nov-2025 21:45:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:22 UTC]    Books columns count: 45
[25-Nov-2025 21:45:22 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:22 UTC]    Language field in books: YES
[25-Nov-2025 21:45:22 UTC]    Format field in books: YES
[25-Nov-2025 21:45:22 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:22 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:37 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 21:45: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
[25-Nov-2025 21:45:37 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:37 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:37 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:37 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:37 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:37 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:37 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:37 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:37 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:37 UTC] 📊 Database Info:
[25-Nov-2025 21:45:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:37 UTC]    Books columns count: 45
[25-Nov-2025 21:45:37 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:37 UTC]    Language field in books: YES
[25-Nov-2025 21:45:37 UTC]    Format field in books: YES
[25-Nov-2025 21:45:37 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:37 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:37 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:37 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:37 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:37 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:37 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:37 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:37 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:38 UTC] 📊 Database Info:
[25-Nov-2025 21:45:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:38 UTC]    Books columns count: 45
[25-Nov-2025 21:45:38 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:38 UTC]    Language field in books: YES
[25-Nov-2025 21:45:38 UTC]    Format field in books: YES
[25-Nov-2025 21:45:38 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:38 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:43 UTC] 📊 Database Info:
[25-Nov-2025 21:45:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:43 UTC]    Books columns count: 45
[25-Nov-2025 21:45:43 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:43 UTC]    Language field in books: YES
[25-Nov-2025 21:45:43 UTC]    Format field in books: YES
[25-Nov-2025 21:45:43 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:43 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:43 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:43 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:43 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:43 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:43 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:43 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:43 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:43 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:43 UTC] 📊 Database Info:
[25-Nov-2025 21:45:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:43 UTC]    Books columns count: 45
[25-Nov-2025 21:45:43 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:43 UTC]    Language field in books: YES
[25-Nov-2025 21:45:43 UTC]    Format field in books: YES
[25-Nov-2025 21:45:43 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:43 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:43 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:43 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:43 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:43 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:45:43 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:52 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 21:45: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
[25-Nov-2025 21:45:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:52 UTC] 📊 Database Info:
[25-Nov-2025 21:45:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:52 UTC]    Books columns count: 45
[25-Nov-2025 21:45:52 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:52 UTC]    Language field in books: YES
[25-Nov-2025 21:45:52 UTC]    Format field in books: YES
[25-Nov-2025 21:45:52 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:45:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:45:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45: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
[25-Nov-2025 21:45:52 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 21:45: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
[25-Nov-2025 21:45:52 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:45:52 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:45:52 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:45:52 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:45:52 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:45:52 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:45:52 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:45:52 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:45:52 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:45:52 UTC] 📊 Database Info:
[25-Nov-2025 21:45:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:45:52 UTC]    Books columns count: 45
[25-Nov-2025 21:45:52 UTC]    Categories columns count: 7
[25-Nov-2025 21:45:52 UTC]    Language field in books: YES
[25-Nov-2025 21:45:52 UTC]    Format field in books: YES
[25-Nov-2025 21:45:52 UTC]    Description field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:45:52 UTC]    Is_active field in books: YES
[25-Nov-2025 21:45:52 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:45:52 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:45:52 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:45:52 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:45:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:45:52 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:45:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:46:00 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:46:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:46:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:46:00 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:46:00 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:46:00 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:46:00 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:46:00 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:46:00 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:46:00 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:46:00 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:46:00 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:46:00 UTC] 📊 Database Info:
[25-Nov-2025 21:46:00 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:46:00 UTC]    Books columns count: 45
[25-Nov-2025 21:46:00 UTC]    Categories columns count: 7
[25-Nov-2025 21:46:00 UTC]    Language field in books: YES
[25-Nov-2025 21:46:00 UTC]    Format field in books: YES
[25-Nov-2025 21:46:00 UTC]    Description field in categories: YES
[25-Nov-2025 21:46:00 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:46:00 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:46:00 UTC]    Is_active field in books: YES
[25-Nov-2025 21:46:00 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:46:00 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:46:00 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:46:00 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:46:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21: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
[25-Nov-2025 21:46:00 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:46:00 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 21:46:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 21:46:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:46:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:46:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:46: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
[25-Nov-2025 21:46:01 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 21:46: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
[25-Nov-2025 21:46:01 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 21:46:01 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 21:46:01 UTC] ℹ️ Column institution already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column language already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column format already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 21:46:01 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 21:46:01 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 21:46:01 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 21:46:01 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 21:46:01 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 21:46:01 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 21:46:01 UTC] 📊 Database Info:
[25-Nov-2025 21:46:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 21:46:01 UTC]    Books columns count: 45
[25-Nov-2025 21:46:01 UTC]    Categories columns count: 7
[25-Nov-2025 21:46:01 UTC]    Language field in books: YES
[25-Nov-2025 21:46:01 UTC]    Format field in books: YES
[25-Nov-2025 21:46:01 UTC]    Description field in categories: YES
[25-Nov-2025 21:46:01 UTC]    Display_order field in categories: YES
[25-Nov-2025 21:46:01 UTC]    Is_active field in categories: YES
[25-Nov-2025 21:46:01 UTC]    Is_active field in books: YES
[25-Nov-2025 21:46:01 UTC]    External_download_link field in books: YES
[25-Nov-2025 21:46:01 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 21:46:01 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 21:46:01 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 21:46:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:46:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 21:46:01 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 21:46:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:07:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:07:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:07:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:07:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:07:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:07:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:07:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:07:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:07:48 UTC] 📊 Database Info:
[25-Nov-2025 22:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:07:48 UTC]    Books columns count: 45
[25-Nov-2025 22:07:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:07:48 UTC]    Language field in books: YES
[25-Nov-2025 22:07:48 UTC]    Format field in books: YES
[25-Nov-2025 22:07:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:07:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:07:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:07:48 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:07:48 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:07:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:07:48 UTC] 📊 Database Info:
[25-Nov-2025 22:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:07:48 UTC]    Books columns count: 45
[25-Nov-2025 22:07:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:07:48 UTC]    Language field in books: YES
[25-Nov-2025 22:07:48 UTC]    Format field in books: YES
[25-Nov-2025 22:07:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:07:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:07:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:07:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:07:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:07:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:07:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:07:48 UTC] 📊 Database Info:
[25-Nov-2025 22:07:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:07:48 UTC]    Books columns count: 45
[25-Nov-2025 22:07:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:07:48 UTC]    Language field in books: YES
[25-Nov-2025 22:07:48 UTC]    Format field in books: YES
[25-Nov-2025 22:07:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:07:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:07:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:07:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:07:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:07:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:07:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:09:20 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:09:20 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:20 UTC] 📊 Database Info:
[25-Nov-2025 22:09:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:20 UTC]    Books columns count: 45
[25-Nov-2025 22:09:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:20 UTC]    Language field in books: YES
[25-Nov-2025 22:09:20 UTC]    Format field in books: YES
[25-Nov-2025 22:09:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:20 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:09:20 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:21 UTC] 📊 Database Info:
[25-Nov-2025 22:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:21 UTC]    Books columns count: 45
[25-Nov-2025 22:09:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:21 UTC]    Language field in books: YES
[25-Nov-2025 22:09:21 UTC]    Format field in books: YES
[25-Nov-2025 22:09:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:21 UTC] 📊 Database Info:
[25-Nov-2025 22:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC]    Books columns count: 45
[25-Nov-2025 22:09:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:21 UTC]    Language field in books: YES
[25-Nov-2025 22:09:21 UTC]    Format field in books: YES
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:21 UTC] 📊 Database Info:
[25-Nov-2025 22:09:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:21 UTC]    Books columns count: 45
[25-Nov-2025 22:09:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:21 UTC]    Language field in books: YES
[25-Nov-2025 22:09:21 UTC]    Format field in books: YES
[25-Nov-2025 22:09:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:09:21 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:09:21 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:09:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:09:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:22 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:09:22 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:09:22 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:09:22 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:09:22 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:09:22 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:09:22 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:09:22 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:09:22 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:09:22 UTC] 📊 Database Info:
[25-Nov-2025 22:09:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:09:22 UTC]    Books columns count: 45
[25-Nov-2025 22:09:22 UTC]    Categories columns count: 7
[25-Nov-2025 22:09:22 UTC]    Language field in books: YES
[25-Nov-2025 22:09:22 UTC]    Format field in books: YES
[25-Nov-2025 22:09:22 UTC]    Description field in categories: YES
[25-Nov-2025 22:09:22 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:09:22 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:09:22 UTC]    Is_active field in books: YES
[25-Nov-2025 22:09:22 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:09:22 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:09:22 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:09:22 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:09:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:09:22 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:09:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:10:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:10:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:10:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:10:34 UTC] 📊 Database Info:
[25-Nov-2025 22:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:10:34 UTC]    Books columns count: 45
[25-Nov-2025 22:10:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:10:34 UTC]    Language field in books: YES
[25-Nov-2025 22:10:34 UTC]    Format field in books: YES
[25-Nov-2025 22:10:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:10:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:10:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:10:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:10:34 UTC] 📊 Database Info:
[25-Nov-2025 22:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:10:34 UTC]    Books columns count: 45
[25-Nov-2025 22:10:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:10:34 UTC]    Language field in books: YES
[25-Nov-2025 22:10:34 UTC]    Format field in books: YES
[25-Nov-2025 22:10:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:10:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:10:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:10:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:10:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:10:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:10:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:10:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:10:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:10:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:10:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:10:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:10:34 UTC] 📊 Database Info:
[25-Nov-2025 22:10:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:10:34 UTC]    Books columns count: 45
[25-Nov-2025 22:10:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:10:34 UTC]    Language field in books: YES
[25-Nov-2025 22:10:34 UTC]    Format field in books: YES
[25-Nov-2025 22:10:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:10:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:10:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:10:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:10:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:10:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:10:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:10:34 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:10:34 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:11:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:15 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:15 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:15 UTC] 📊 Database Info:
[25-Nov-2025 22:11:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:15 UTC]    Books columns count: 45
[25-Nov-2025 22:11:15 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:15 UTC]    Language field in books: YES
[25-Nov-2025 22:11:15 UTC]    Format field in books: YES
[25-Nov-2025 22:11:15 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:15 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:15 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:15 UTC] 📊 Database Info:
[25-Nov-2025 22:11:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:15 UTC]    Books columns count: 45
[25-Nov-2025 22:11:15 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:15 UTC]    Language field in books: YES
[25-Nov-2025 22:11:15 UTC]    Format field in books: YES
[25-Nov-2025 22:11:15 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:15 UTC] 📊 Database Info:
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:11:15 UTC]    Books columns count: 45
[25-Nov-2025 22:11:15 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:15 UTC]    Language field in books: YES
[25-Nov-2025 22:11:15 UTC]    Format field in books: YES
[25-Nov-2025 22:11:15 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:15 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:15 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:15 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:15 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:15 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:11:15 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:11:15 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:11:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:11:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:33 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:33 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:33 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:33 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:33 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:33 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:33 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:33 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:34 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:11:34 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:11:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:34 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:34 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:11:34 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:11:34 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:11:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:34 UTC] 📊 Database Info:
[25-Nov-2025 22:11:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:34 UTC]    Books columns count: 45
[25-Nov-2025 22:11:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:34 UTC]    Language field in books: YES
[25-Nov-2025 22:11:34 UTC]    Format field in books: YES
[25-Nov-2025 22:11:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:11:34 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:11:34 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:11:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:34 UTC] 📊 Database Info:
[25-Nov-2025 22:11:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:34 UTC]    Books columns count: 45
[25-Nov-2025 22:11:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:34 UTC]    Language field in books: YES
[25-Nov-2025 22:11:34 UTC]    Format field in books: YES
[25-Nov-2025 22:11:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:11:34 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:11:34 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:11:34 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:11:34 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:11:34 UTC] 📊 Database Info:
[25-Nov-2025 22:11:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:11:34 UTC]    Books columns count: 45
[25-Nov-2025 22:11:34 UTC]    Categories columns count: 7
[25-Nov-2025 22:11:34 UTC]    Language field in books: YES
[25-Nov-2025 22:11:34 UTC]    Format field in books: YES
[25-Nov-2025 22:11:34 UTC]    Description field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:11:34 UTC]    Is_active field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:11:34 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:11:34 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:11:34 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:11:34 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:11:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:12:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12: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
[25-Nov-2025 22:12:49 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 22:12: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
[25-Nov-2025 22:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12: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
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 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 22:12: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
[25-Nov-2025 22:12: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
[25-Nov-2025 22:12:49 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 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12: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
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:12:49 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:12:49 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:12:49 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:12:49 UTC] 📊 Database Info:
[25-Nov-2025 22:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:12:49 UTC]    Books columns count: 45
[25-Nov-2025 22:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 22:12:49 UTC]    Language field in books: YES
[25-Nov-2025 22:12:49 UTC]    Format field in books: YES
[25-Nov-2025 22:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:12:49 UTC] 📊 Database Info:
[25-Nov-2025 22:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:12:49 UTC]    Books columns count: 45
[25-Nov-2025 22:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 22:12:49 UTC]    Language field in books: YES
[25-Nov-2025 22:12:49 UTC]    Format field in books: YES
[25-Nov-2025 22:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:12:49 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:12:49 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:12:49 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:12:49 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:12:49 UTC] 📊 Database Info:
[25-Nov-2025 22:12:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:12:49 UTC]    Books columns count: 45
[25-Nov-2025 22:12:49 UTC]    Categories columns count: 7
[25-Nov-2025 22:12:49 UTC]    Language field in books: YES
[25-Nov-2025 22:12:49 UTC]    Format field in books: YES
[25-Nov-2025 22:12:49 UTC]    Description field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:12:49 UTC]    Is_active field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:12:49 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:12:49 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:12:49 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:12:49 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:12:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:12:49 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:12:49 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:13:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13: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
[25-Nov-2025 22:13:10 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 22:13: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
[25-Nov-2025 22:13:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13: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
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 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 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13: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
[25-Nov-2025 22:13: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
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 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 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13: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
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:10 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:10 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:10 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:10 UTC] 📊 Database Info:
[25-Nov-2025 22:13:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:10 UTC]    Books columns count: 45
[25-Nov-2025 22:13:10 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:10 UTC]    Language field in books: YES
[25-Nov-2025 22:13:10 UTC]    Format field in books: YES
[25-Nov-2025 22:13:10 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:10 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:10 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:10 UTC] 📊 Database Info:
[25-Nov-2025 22:13:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:10 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:10 UTC]    Books columns count: 45
[25-Nov-2025 22:13:10 UTC] 📊 Database Info:
[25-Nov-2025 22:13:10 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:10 UTC]    Books columns count: 45
[25-Nov-2025 22:13:10 UTC]    Language field in books: YES
[25-Nov-2025 22:13:10 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:10 UTC]    Format field in books: YES
[25-Nov-2025 22:13:10 UTC]    Language field in books: YES
[25-Nov-2025 22:13:10 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Format field in books: YES
[25-Nov-2025 22:13:10 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:10 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:10 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:10 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:10 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:13:10 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:13:10 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:13:10 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:13:38 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:13:38 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:13:38 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:38 UTC] 📊 Database Info:
[25-Nov-2025 22:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:38 UTC]    Books columns count: 45
[25-Nov-2025 22:13:38 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:38 UTC]    Language field in books: YES
[25-Nov-2025 22:13:38 UTC]    Format field in books: YES
[25-Nov-2025 22:13:38 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:38 UTC] 📊 Database Info:
[25-Nov-2025 22:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:38 UTC]    Books columns count: 45
[25-Nov-2025 22:13:38 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:38 UTC]    Language field in books: YES
[25-Nov-2025 22:13:38 UTC]    Format field in books: YES
[25-Nov-2025 22:13:38 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:13:38 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:13:38 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:13:38 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:13:38 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:13:38 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:13:38 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:13:38 UTC] 📊 Database Info:
[25-Nov-2025 22:13:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:13:38 UTC]    Books columns count: 45
[25-Nov-2025 22:13:38 UTC]    Categories columns count: 7
[25-Nov-2025 22:13:38 UTC]    Language field in books: YES
[25-Nov-2025 22:13:38 UTC]    Format field in books: YES
[25-Nov-2025 22:13:38 UTC]    Description field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:13:38 UTC]    Is_active field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:13:38 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:13:38 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:13:38 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:13:38 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:13:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:16 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 22:14: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
[25-Nov-2025 22:14:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 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 22:14:16 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 22:14: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
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:16 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:16 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:16 UTC] 📊 Database Info:
[25-Nov-2025 22:14:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:16 UTC]    Books columns count: 45
[25-Nov-2025 22:14:16 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:16 UTC]    Language field in books: YES
[25-Nov-2025 22:14:16 UTC]    Format field in books: YES
[25-Nov-2025 22:14:16 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:16 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:16 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:16 UTC] 📊 Database Info:
[25-Nov-2025 22:14:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:16 UTC]    Books columns count: 45
[25-Nov-2025 22:14:16 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:16 UTC]    Language field in books: YES
[25-Nov-2025 22:14:16 UTC]    Format field in books: YES
[25-Nov-2025 22:14:16 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:16 UTC] 📊 Database Info:
[25-Nov-2025 22:14:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:16 UTC]    Books columns count: 45
[25-Nov-2025 22:14:16 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC]    Language field in books: YES
[25-Nov-2025 22:14:16 UTC]    Format field in books: YES
[25-Nov-2025 22:14:16 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:16 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:16 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:16 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:16 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:16 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:16 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:16 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:48 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 22:14: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
[25-Nov-2025 22:14:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 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 22:14:48 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 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14: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
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:14:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:14:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:14:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:48 UTC] 📊 Database Info:
[25-Nov-2025 22:14:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:48 UTC]    Books columns count: 45
[25-Nov-2025 22:14:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:48 UTC]    Language field in books: YES
[25-Nov-2025 22:14:48 UTC]    Format field in books: YES
[25-Nov-2025 22:14:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:48 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:14:48 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:48 UTC] 📊 Database Info:
[25-Nov-2025 22:14:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:48 UTC]    Books columns count: 45
[25-Nov-2025 22:14:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:48 UTC]    Language field in books: YES
[25-Nov-2025 22:14:48 UTC]    Format field in books: YES
[25-Nov-2025 22:14:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:14:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:14:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:14:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:14:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:14:48 UTC] 📊 Database Info:
[25-Nov-2025 22:14:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:14:48 UTC]    Books columns count: 45
[25-Nov-2025 22:14:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:14:48 UTC]    Language field in books: YES
[25-Nov-2025 22:14:48 UTC]    Format field in books: YES
[25-Nov-2025 22:14:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:14:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:14:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:14:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:14:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:14:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:14:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:04 UTC] 📊 Database Info:
[25-Nov-2025 22:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:04 UTC]    Books columns count: 45
[25-Nov-2025 22:15:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:04 UTC]    Language field in books: YES
[25-Nov-2025 22:15:04 UTC]    Format field in books: YES
[25-Nov-2025 22:15:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:04 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:15:04 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:04 UTC] 📊 Database Info:
[25-Nov-2025 22:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:04 UTC]    Books columns count: 45
[25-Nov-2025 22:15:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:04 UTC]    Language field in books: YES
[25-Nov-2025 22:15:04 UTC]    Format field in books: YES
[25-Nov-2025 22:15:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:04 UTC] 📊 Database Info:
[25-Nov-2025 22:15:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:04 UTC]    Books columns count: 45
[25-Nov-2025 22:15:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:04 UTC]    Language field in books: YES
[25-Nov-2025 22:15:04 UTC]    Format field in books: YES
[25-Nov-2025 22:15:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:15:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15: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
[25-Nov-2025 22:15:25 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 22:15: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
[25-Nov-2025 22:15:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15: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
[25-Nov-2025 22:15:25 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 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15: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
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15: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
[25-Nov-2025 22:15:25 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 22:15: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
[25-Nov-2025 22:15:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:15:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:15:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:15:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:15:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:25 UTC] 📊 Database Info:
[25-Nov-2025 22:15:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:25 UTC]    Books columns count: 45
[25-Nov-2025 22:15:25 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:25 UTC]    Language field in books: YES
[25-Nov-2025 22:15:25 UTC]    Format field in books: YES
[25-Nov-2025 22:15:25 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:25 UTC] 📊 Database Info:
[25-Nov-2025 22:15:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:25 UTC]    Books columns count: 45
[25-Nov-2025 22:15:25 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:25 UTC]    Language field in books: YES
[25-Nov-2025 22:15:25 UTC]    Format field in books: YES
[25-Nov-2025 22:15:25 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:15:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:15:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:15:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:15:25 UTC] 📊 Database Info:
[25-Nov-2025 22:15:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:15:25 UTC]    Books columns count: 45
[25-Nov-2025 22:15:25 UTC]    Categories columns count: 7
[25-Nov-2025 22:15:25 UTC]    Language field in books: YES
[25-Nov-2025 22:15:25 UTC]    Format field in books: YES
[25-Nov-2025 22:15:25 UTC]    Description field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:15:25 UTC]    Is_active field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:15:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:15:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:15:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:15:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:15:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:15:25 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:15:25 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:23:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:04 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:04 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:04 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:04 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:04 UTC] 📊 Database Info:
[25-Nov-2025 22:23:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:04 UTC]    Books columns count: 45
[25-Nov-2025 22:23:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:04 UTC]    Language field in books: YES
[25-Nov-2025 22:23:04 UTC]    Format field in books: YES
[25-Nov-2025 22:23:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23:04 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[25-Nov-2025 22:23:04 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[25-Nov-2025 22:23:04 UTC] ✅ إرجاع 0 تصنيف بروفايل
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:04 UTC] 📊 Database Info:
[25-Nov-2025 22:23:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:04 UTC]    Books columns count: 45
[25-Nov-2025 22:23:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:04 UTC]    Language field in books: YES
[25-Nov-2025 22:23:04 UTC]    Format field in books: YES
[25-Nov-2025 22:23:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23:04 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:04 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:04 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:04 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:04 UTC] 📊 Database Info:
[25-Nov-2025 22:23:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:04 UTC]    Books columns count: 45
[25-Nov-2025 22:23:04 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:04 UTC]    Language field in books: YES
[25-Nov-2025 22:23:04 UTC]    Format field in books: YES
[25-Nov-2025 22:23:04 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:04 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:04 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:04 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:04 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:23:04 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23:04 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[25-Nov-2025 22:23:04 UTC] ✅ إرجاع 2 تصنيف
[25-Nov-2025 22:23:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23: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 22:23: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 22:23: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 22:23:07 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:07 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:07 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:07 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:07 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:07 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:07 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:07 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:07 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:07 UTC] 📊 Database Info:
[25-Nov-2025 22:23:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:07 UTC]    Books columns count: 45
[25-Nov-2025 22:23:07 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:07 UTC]    Language field in books: YES
[25-Nov-2025 22:23:07 UTC]    Format field in books: YES
[25-Nov-2025 22:23:07 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:07 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:07 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:07 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:07 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:07 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:07 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:07 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:07 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:07 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23: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
[25-Nov-2025 22:23:09 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 22:23: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
[25-Nov-2025 22:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:09 UTC] 📊 Database Info:
[25-Nov-2025 22:23:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:09 UTC]    Books columns count: 45
[25-Nov-2025 22:23:09 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:09 UTC]    Language field in books: YES
[25-Nov-2025 22:23:09 UTC]    Format field in books: YES
[25-Nov-2025 22:23:09 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23: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}
[25-Nov-2025 22:23:09 UTC] ?? Processing: home_screen - show_welcome_section: 0
[25-Nov-2025 22:23:09 UTC] ✅ Updated home_screen successfully - show_welcome_section: 0
[25-Nov-2025 22:23:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23: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
[25-Nov-2025 22:23:09 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 22:23: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
[25-Nov-2025 22:23:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:09 UTC] 📊 Database Info:
[25-Nov-2025 22:23:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:09 UTC]    Books columns count: 45
[25-Nov-2025 22:23:09 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:09 UTC]    Language field in books: YES
[25-Nov-2025 22:23:09 UTC]    Format field in books: YES
[25-Nov-2025 22:23:09 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:09 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23: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":false}
[25-Nov-2025 22:23:09 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 22:23:09 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 22:23:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23: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
[25-Nov-2025 22:23:19 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 22:23: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
[25-Nov-2025 22:23:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:19 UTC] 📊 Database Info:
[25-Nov-2025 22:23:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:19 UTC]    Books columns count: 45
[25-Nov-2025 22:23:19 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:19 UTC]    Language field in books: YES
[25-Nov-2025 22:23:19 UTC]    Format field in books: YES
[25-Nov-2025 22:23:19 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:19 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23:19 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}
[25-Nov-2025 22:23:19 UTC] ?? Processing: home_screen - show_welcome_section: 1
[25-Nov-2025 22:23:19 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[25-Nov-2025 22:23:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23: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
[25-Nov-2025 22:23:20 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 22:23: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
[25-Nov-2025 22:23:20 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:23:20 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:23:20 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:23:20 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:23:20 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:23:20 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:23:20 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:23:20 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:23:20 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:23:20 UTC] 📊 Database Info:
[25-Nov-2025 22:23:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:23:20 UTC]    Books columns count: 45
[25-Nov-2025 22:23:20 UTC]    Categories columns count: 7
[25-Nov-2025 22:23:20 UTC]    Language field in books: YES
[25-Nov-2025 22:23:20 UTC]    Format field in books: YES
[25-Nov-2025 22:23:20 UTC]    Description field in categories: YES
[25-Nov-2025 22:23:20 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:23:20 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:23:20 UTC]    Is_active field in books: YES
[25-Nov-2025 22:23:20 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:23:20 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:23:20 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:23:20 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:23:20 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:23:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:23: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":false}
[25-Nov-2025 22:23:20 UTC] ?? Processing: profile_screen - show_welcome_section: 0
[25-Nov-2025 22:23:20 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 0
[25-Nov-2025 22:32:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:32:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32: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
[25-Nov-2025 22:32:47 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 22:32: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
[25-Nov-2025 22:32:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:32:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32: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
[25-Nov-2025 22:32: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
[25-Nov-2025 22:32:47 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 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 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 22:32: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
[25-Nov-2025 22:32: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
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:32:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:32:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:32:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:32:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:32:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:32:47 UTC] 📊 Database Info:
[25-Nov-2025 22:32:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:32:47 UTC]    Books columns count: 45
[25-Nov-2025 22:32:47 UTC]    Categories columns count: 7
[25-Nov-2025 22:32:47 UTC]    Language field in books: YES
[25-Nov-2025 22:32:47 UTC]    Format field in books: YES
[25-Nov-2025 22:32:47 UTC]    Description field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:32:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:32:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:32:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:32:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:32:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:32:47 UTC] 📊 Database Info:
[25-Nov-2025 22:32:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:32:47 UTC]    Books columns count: 45
[25-Nov-2025 22:32:47 UTC]    Categories columns count: 7
[25-Nov-2025 22:32:47 UTC]    Language field in books: YES
[25-Nov-2025 22:32:47 UTC]    Format field in books: YES
[25-Nov-2025 22:32:47 UTC]    Description field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:32:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:32:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:32:47 UTC] 📊 Database Info:
[25-Nov-2025 22:32:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:32:47 UTC]    Books columns count: 45
[25-Nov-2025 22:32:47 UTC]    Categories columns count: 7
[25-Nov-2025 22:32:47 UTC]    Language field in books: YES
[25-Nov-2025 22:32:47 UTC]    Format field in books: YES
[25-Nov-2025 22:32:47 UTC]    Description field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:32:47 UTC]    Is_active field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:32:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:32:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:32:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:32:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:32:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:32:47 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:32:47 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:29 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:29 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:29 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:29 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:29 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:29 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:29 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:29 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:29 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-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
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-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
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-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
[25-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
[25-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
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-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
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-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
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-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
[25-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:30 UTC] 📊 Database Info:
[25-Nov-2025 22:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:30 UTC]    Books columns count: 45
[25-Nov-2025 22:34:30 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:30 UTC]    Language field in books: YES
[25-Nov-2025 22:34:30 UTC]    Format field in books: YES
[25-Nov-2025 22:34:30 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:30 UTC] 📊 Database Info:
[25-Nov-2025 22:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:30 UTC]    Books columns count: 45
[25-Nov-2025 22:34:30 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:30 UTC]    Language field in books: YES
[25-Nov-2025 22:34:30 UTC]    Format field in books: YES
[25-Nov-2025 22:34:30 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:30 UTC] 📊 Database Info:
[25-Nov-2025 22:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:30 UTC]    Books columns count: 45
[25-Nov-2025 22:34:30 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:30 UTC]    Language field in books: YES
[25-Nov-2025 22:34:30 UTC]    Format field in books: YES
[25-Nov-2025 22:34:30 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:30 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:30 UTC] 📊 Database Info:
[25-Nov-2025 22:34:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:30 UTC]    Books columns count: 45
[25-Nov-2025 22:34:30 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:30 UTC]    Language field in books: YES
[25-Nov-2025 22:34:30 UTC]    Format field in books: YES
[25-Nov-2025 22:34:30 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:30 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:30 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:30 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:30 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22: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
[25-Nov-2025 22:34:30 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:34:30 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:34:30 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34: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
[25-Nov-2025 22:34:31 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 22:34: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
[25-Nov-2025 22:34:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:31 UTC] 📊 Database Info:
[25-Nov-2025 22:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:31 UTC]    Books columns count: 45
[25-Nov-2025 22:34:31 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:31 UTC]    Language field in books: YES
[25-Nov-2025 22:34:31 UTC]    Format field in books: YES
[25-Nov-2025 22:34:31 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34: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
[25-Nov-2025 22:34:31 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 22:34: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
[25-Nov-2025 22:34:31 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:31 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:31 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:31 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:31 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:31 UTC] 📊 Database Info:
[25-Nov-2025 22:34:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:31 UTC]    Books columns count: 45
[25-Nov-2025 22:34:31 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:31 UTC]    Language field in books: YES
[25-Nov-2025 22:34:31 UTC]    Format field in books: YES
[25-Nov-2025 22:34:31 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:31 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 24
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-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
[25-Nov-2025 22:34:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:31 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:34:31 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:34:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:32 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:32 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:32 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:32 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:32 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:32 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:32 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:32 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:32 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:32 UTC] 📊 Database Info:
[25-Nov-2025 22:34:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:32 UTC]    Books columns count: 45
[25-Nov-2025 22:34:32 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:32 UTC]    Language field in books: YES
[25-Nov-2025 22:34:32 UTC]    Format field in books: YES
[25-Nov-2025 22:34:32 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:32 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:32 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:32 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:32 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:32 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:32 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:32 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:32 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34: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
[25-Nov-2025 22:34:40 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 22:34: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
[25-Nov-2025 22:34:40 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:40 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:40 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:40 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:40 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:40 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:40 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:40 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:40 UTC] 📊 Database Info:
[25-Nov-2025 22:34:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:40 UTC]    Books columns count: 45
[25-Nov-2025 22:34:40 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:40 UTC]    Language field in books: YES
[25-Nov-2025 22:34:40 UTC]    Format field in books: YES
[25-Nov-2025 22:34:40 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:40 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:40 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:40 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:40 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:40 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:40 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:40 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:34:40 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:34:40 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:34:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:34:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:34:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:34:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:41 UTC] 📊 Database Info:
[25-Nov-2025 22:34:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:41 UTC]    Books columns count: 45
[25-Nov-2025 22:34:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:41 UTC]    Language field in books: YES
[25-Nov-2025 22:34:41 UTC]    Format field in books: YES
[25-Nov-2025 22:34:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:34:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:41 UTC] 📊 Database Info:
[25-Nov-2025 22:34:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:41 UTC]    Books columns count: 45
[25-Nov-2025 22:34:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:41 UTC]    Language field in books: YES
[25-Nov-2025 22:34:41 UTC]    Format field in books: YES
[25-Nov-2025 22:34:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:34:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:34:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:34:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:34:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:34:41 UTC] 📊 Database Info:
[25-Nov-2025 22:34:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:34:41 UTC]    Books columns count: 45
[25-Nov-2025 22:34:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:34:41 UTC]    Language field in books: YES
[25-Nov-2025 22:34:41 UTC]    Format field in books: YES
[25-Nov-2025 22:34:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:34:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:34:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:34:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:34:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:34:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:34:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:35:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:35:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:35:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:35:05 UTC] 📊 Database Info:
[25-Nov-2025 22:35:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:35:05 UTC]    Books columns count: 45
[25-Nov-2025 22:35:05 UTC]    Categories columns count: 7
[25-Nov-2025 22:35:05 UTC]    Language field in books: YES
[25-Nov-2025 22:35:05 UTC]    Format field in books: YES
[25-Nov-2025 22:35:05 UTC]    Description field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:35:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:35:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:35:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:35:05 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:35:05 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:05 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:05 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:35:05 UTC] 📊 Database Info:
[25-Nov-2025 22:35:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:35:05 UTC]    Books columns count: 45
[25-Nov-2025 22:35:05 UTC]    Categories columns count: 7
[25-Nov-2025 22:35:05 UTC]    Language field in books: YES
[25-Nov-2025 22:35:05 UTC]    Format field in books: YES
[25-Nov-2025 22:35:05 UTC]    Description field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:35:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:35:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:35:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:35:05 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:05 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:05 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:35:05 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:35:05 UTC] 📊 Database Info:
[25-Nov-2025 22:35:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:35:05 UTC]    Books columns count: 45
[25-Nov-2025 22:35:05 UTC]    Categories columns count: 7
[25-Nov-2025 22:35:05 UTC]    Language field in books: YES
[25-Nov-2025 22:35:05 UTC]    Format field in books: YES
[25-Nov-2025 22:35:05 UTC]    Description field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:35:05 UTC]    Is_active field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:35:05 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:35:05 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:35:05 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:05 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:35:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:35:05 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:35:05 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:35:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:35:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:35:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:35:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:35:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:35:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:35:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:35:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:35:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:35:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:35:08 UTC] 📊 Database Info:
[25-Nov-2025 22:35:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:35:08 UTC]    Books columns count: 45
[25-Nov-2025 22:35:08 UTC]    Categories columns count: 7
[25-Nov-2025 22:35:08 UTC]    Language field in books: YES
[25-Nov-2025 22:35:08 UTC]    Format field in books: YES
[25-Nov-2025 22:35:08 UTC]    Description field in categories: YES
[25-Nov-2025 22:35:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:35:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:35:08 UTC]    Is_active field in books: YES
[25-Nov-2025 22:35:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:35:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:35:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:35:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:35:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:35:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:35:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:19 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 22:36: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
[25-Nov-2025 22:36:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 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 22:36:19 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 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:19 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:19 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:19 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:19 UTC] 📊 Database Info:
[25-Nov-2025 22:36:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:19 UTC]    Books columns count: 45
[25-Nov-2025 22:36:19 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:19 UTC]    Language field in books: YES
[25-Nov-2025 22:36:19 UTC]    Format field in books: YES
[25-Nov-2025 22:36:19 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:19 UTC] 📊 Database Info:
[25-Nov-2025 22:36:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:19 UTC]    Books columns count: 45
[25-Nov-2025 22:36:19 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:19 UTC]    Language field in books: YES
[25-Nov-2025 22:36:19 UTC]    Format field in books: YES
[25-Nov-2025 22:36:19 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:19 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:19 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:19 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:19 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:19 UTC] 📊 Database Info:
[25-Nov-2025 22:36:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:19 UTC]    Books columns count: 45
[25-Nov-2025 22:36:19 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:19 UTC]    Language field in books: YES
[25-Nov-2025 22:36:19 UTC]    Format field in books: YES
[25-Nov-2025 22:36:19 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:19 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:19 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:19 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:19 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:19 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:19 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:36:19 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:36:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:30 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 22:36: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
[25-Nov-2025 22:36:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:30 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 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 22:36:30 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:30 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 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 22:36: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
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:30 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:30 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:30 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:30 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:31 UTC] 📊 Database Info:
[25-Nov-2025 22:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:31 UTC]    Books columns count: 45
[25-Nov-2025 22:36:31 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:31 UTC]    Language field in books: YES
[25-Nov-2025 22:36:31 UTC]    Format field in books: YES
[25-Nov-2025 22:36:31 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:31 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:36:31 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:36:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:31 UTC] 📊 Database Info:
[25-Nov-2025 22:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:31 UTC]    Books columns count: 45
[25-Nov-2025 22:36:31 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:31 UTC]    Language field in books: YES
[25-Nov-2025 22:36:31 UTC]    Format field in books: YES
[25-Nov-2025 22:36:31 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:31 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:31 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:31 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:31 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:31 UTC] 📊 Database Info:
[25-Nov-2025 22:36:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:31 UTC]    Books columns count: 45
[25-Nov-2025 22:36:31 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:31 UTC]    Language field in books: YES
[25-Nov-2025 22:36:31 UTC]    Format field in books: YES
[25-Nov-2025 22:36:31 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:31 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:31 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:31 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:31 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:31 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:48 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 22:36: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
[25-Nov-2025 22:36:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:48 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 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36: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
[25-Nov-2025 22:36:48 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 22:36: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
[25-Nov-2025 22:36:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:48 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:36:48 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:36:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:36:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:48 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:48 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:36:48 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:48 UTC] 📊 Database Info:
[25-Nov-2025 22:36:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:48 UTC]    Books columns count: 45
[25-Nov-2025 22:36:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:48 UTC]    Language field in books: YES
[25-Nov-2025 22:36:48 UTC]    Format field in books: YES
[25-Nov-2025 22:36:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:48 UTC] 📊 Database Info:
[25-Nov-2025 22:36:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:48 UTC]    Books columns count: 45
[25-Nov-2025 22:36:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:48 UTC]    Language field in books: YES
[25-Nov-2025 22:36:48 UTC]    Format field in books: YES
[25-Nov-2025 22:36:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:36:48 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:36:48 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:36:48 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:36:48 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:36:48 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:36:48 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:36:48 UTC] 📊 Database Info:
[25-Nov-2025 22:36:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:36:48 UTC]    Books columns count: 45
[25-Nov-2025 22:36:48 UTC]    Categories columns count: 7
[25-Nov-2025 22:36:48 UTC]    Language field in books: YES
[25-Nov-2025 22:36:48 UTC]    Format field in books: YES
[25-Nov-2025 22:36:48 UTC]    Description field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:36:48 UTC]    Is_active field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:36:48 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:36:48 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:36:48 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:36:48 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:36:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:40 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 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 22:51: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
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 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 22:51: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
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 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 22:51: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
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 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 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 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 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 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 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:41 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:41 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:41 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:51:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:41 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:41 UTC] 📊 Database Info:
[25-Nov-2025 22:51:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:41 UTC]    Books columns count: 45
[25-Nov-2025 22:51:41 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:41 UTC]    Language field in books: YES
[25-Nov-2025 22:51:41 UTC]    Format field in books: YES
[25-Nov-2025 22:51:41 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:41 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:41 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:41 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:41 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:41 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:41 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:51:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:51:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51: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
[25-Nov-2025 22:51:47 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 22:51: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
[25-Nov-2025 22:51:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:51:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:51:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:51:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:51:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:51:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:51:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:51:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:51:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:51:47 UTC] 📊 Database Info:
[25-Nov-2025 22:51:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:51:47 UTC]    Books columns count: 45
[25-Nov-2025 22:51:47 UTC]    Categories columns count: 7
[25-Nov-2025 22:51:47 UTC]    Language field in books: YES
[25-Nov-2025 22:51:47 UTC]    Format field in books: YES
[25-Nov-2025 22:51:47 UTC]    Description field in categories: YES
[25-Nov-2025 22:51:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:51:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:51:47 UTC]    Is_active field in books: YES
[25-Nov-2025 22:51:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:51:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:51:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:51:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:51:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:51:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:51:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:06 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:06 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:06 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:06 UTC] 📊 Database Info:
[25-Nov-2025 22:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:06 UTC]    Books columns count: 45
[25-Nov-2025 22:52:06 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:06 UTC]    Language field in books: YES
[25-Nov-2025 22:52:06 UTC]    Format field in books: YES
[25-Nov-2025 22:52:06 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:06 UTC] 📊 Database Info:
[25-Nov-2025 22:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:06 UTC]    Books columns count: 45
[25-Nov-2025 22:52:06 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:06 UTC]    Language field in books: YES
[25-Nov-2025 22:52:06 UTC]    Format field in books: YES
[25-Nov-2025 22:52:06 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:06 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:06 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:06 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:06 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:06 UTC] 📊 Database Info:
[25-Nov-2025 22:52:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:06 UTC]    Books columns count: 45
[25-Nov-2025 22:52:06 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:06 UTC]    Language field in books: YES
[25-Nov-2025 22:52:06 UTC]    Format field in books: YES
[25-Nov-2025 22:52:06 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:06 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:06 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:06 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:06 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:06 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:06 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:52:06 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:52:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:08 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:08 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:08 UTC] 📊 Database Info:
[25-Nov-2025 22:52:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:08 UTC]    Books columns count: 45
[25-Nov-2025 22:52:08 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:08 UTC]    Language field in books: YES
[25-Nov-2025 22:52:08 UTC]    Format field in books: YES
[25-Nov-2025 22:52:08 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:08 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:08 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:08 UTC] 📊 Database Info:
[25-Nov-2025 22:52:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:08 UTC]    Books columns count: 45
[25-Nov-2025 22:52:08 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:08 UTC]    Language field in books: YES
[25-Nov-2025 22:52:08 UTC]    Format field in books: YES
[25-Nov-2025 22:52:08 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:08 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:08 UTC] 📊 Database Info:
[25-Nov-2025 22:52:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:08 UTC]    Books columns count: 45
[25-Nov-2025 22:52:08 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:08 UTC]    Language field in books: YES
[25-Nov-2025 22:52:08 UTC]    Format field in books: YES
[25-Nov-2025 22:52:08 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:08 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:08 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:08 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:08 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:08 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:52:08 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:52:08 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:52:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:52:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:52:09 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:52:09 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:52:09 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:52:09 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:52:09 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:52:09 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:52:09 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:52:09 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:52:09 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:52:09 UTC] 📊 Database Info:
[25-Nov-2025 22:52:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:52:09 UTC]    Books columns count: 45
[25-Nov-2025 22:52:09 UTC]    Categories columns count: 7
[25-Nov-2025 22:52:09 UTC]    Language field in books: YES
[25-Nov-2025 22:52:09 UTC]    Format field in books: YES
[25-Nov-2025 22:52:09 UTC]    Description field in categories: YES
[25-Nov-2025 22:52:09 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:52:09 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:52:09 UTC]    Is_active field in books: YES
[25-Nov-2025 22:52:09 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:52:09 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:52:09 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:52:09 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:52:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:52:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:52:09 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:52:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:21 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:21 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:21 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:21 UTC] 📊 Database Info:
[25-Nov-2025 22:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:21 UTC]    Books columns count: 45
[25-Nov-2025 22:53:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:21 UTC]    Language field in books: YES
[25-Nov-2025 22:53:21 UTC]    Format field in books: YES
[25-Nov-2025 22:53:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:21 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:21 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:21 UTC] 📊 Database Info:
[25-Nov-2025 22:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:21 UTC]    Books columns count: 45
[25-Nov-2025 22:53:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:21 UTC]    Language field in books: YES
[25-Nov-2025 22:53:21 UTC]    Format field in books: YES
[25-Nov-2025 22:53:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:21 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:21 UTC] 📊 Database Info:
[25-Nov-2025 22:53:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:21 UTC]    Books columns count: 45
[25-Nov-2025 22:53:21 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:21 UTC]    Language field in books: YES
[25-Nov-2025 22:53:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:21 UTC]    Format field in books: YES
[25-Nov-2025 22:53:21 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:21 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:21 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:21 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:21 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:21 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:21 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:21 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:21 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:53:21 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:25 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:25 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:25 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:25 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:25 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:25 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:25 UTC] 📊 Database Info:
[25-Nov-2025 22:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:25 UTC]    Books columns count: 45
[25-Nov-2025 22:53:25 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:25 UTC]    Language field in books: YES
[25-Nov-2025 22:53:25 UTC]    Format field in books: YES
[25-Nov-2025 22:53:25 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:25 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:25 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:25 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:25 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:25 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:25 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:25 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:25 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:25 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:53:25 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:53:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:26 UTC] 📊 Database Info:
[25-Nov-2025 22:53:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:26 UTC]    Books columns count: 45
[25-Nov-2025 22:53:26 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:26 UTC]    Language field in books: YES
[25-Nov-2025 22:53:26 UTC]    Format field in books: YES
[25-Nov-2025 22:53:26 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:26 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:26 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:26 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:26 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:26 UTC] 📊 Database Info:
[25-Nov-2025 22:53:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:26 UTC]    Books columns count: 45
[25-Nov-2025 22:53:26 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:26 UTC]    Language field in books: YES
[25-Nov-2025 22:53:26 UTC]    Format field in books: YES
[25-Nov-2025 22:53:26 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:26 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:26 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:26 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:26 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:26 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:26 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53: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
[25-Nov-2025 22:53:27 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 22:53: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
[25-Nov-2025 22:53:27 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:27 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:27 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:27 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:27 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:27 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:27 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:27 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:27 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:27 UTC] 📊 Database Info:
[25-Nov-2025 22:53:27 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:27 UTC]    Books columns count: 45
[25-Nov-2025 22:53:27 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:27 UTC]    Language field in books: YES
[25-Nov-2025 22:53:27 UTC]    Format field in books: YES
[25-Nov-2025 22:53:27 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:27 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:27 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:27 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:27 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:27 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:27 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:27 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:27 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:27 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:27 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:46 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:46 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:46 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:46 UTC] 📊 Database Info:
[25-Nov-2025 22:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:46 UTC]    Books columns count: 45
[25-Nov-2025 22:53:46 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:46 UTC]    Language field in books: YES
[25-Nov-2025 22:53:46 UTC]    Format field in books: YES
[25-Nov-2025 22:53:46 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:46 UTC] 📊 Database Info:
[25-Nov-2025 22:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:46 UTC]    Books columns count: 45
[25-Nov-2025 22:53:46 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:46 UTC]    Language field in books: YES
[25-Nov-2025 22:53:46 UTC]    Format field in books: YES
[25-Nov-2025 22:53:46 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:46 UTC] 📁 جلب التصنيفات النشطة فقط
[25-Nov-2025 22:53:46 UTC] ✅ إرجاع 2 تصنيف نشط
[25-Nov-2025 22:53:46 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:46 UTC] 📊 Database Info:
[25-Nov-2025 22:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:46 UTC]    Books columns count: 45
[25-Nov-2025 22:53:46 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:46 UTC]    Language field in books: YES
[25-Nov-2025 22:53:46 UTC]    Format field in books: YES
[25-Nov-2025 22:53:46 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:46 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:46 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:46 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:46 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22: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
[25-Nov-2025 22:53:46 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[25-Nov-2025 22:53:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[25-Nov-2025 22:53:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53: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
[25-Nov-2025 22:53:47 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 22:53: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
[25-Nov-2025 22:53:47 UTC] ⚠️ Missing columns detected: description, display_order
[25-Nov-2025 22:53:47 UTC] 🔄 Attempting to add missing columns...
[25-Nov-2025 22:53:47 UTC] ℹ️ Column institution already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column publication_year already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column keywords already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_summary already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_toc already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column selected_pages_original already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_protected already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column protection_key already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_read_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column read_button_text already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_external_plus already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column custom_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_file_size already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column taille_before_extrait already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_download_extrait_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column download_extrait_button_text already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column original_pdf_url already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column download_count already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column stockage already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column language already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column format already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column external_download_link already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_external_download_button already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column external_download_protection_key already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_external_download_protected already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_active already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column require_login_for_download already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column description already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column display_order already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column is_active already exists in categories
[25-Nov-2025 22:53:47 UTC] ℹ️ Column show_welcome_section already exists
[25-Nov-2025 22:53:47 UTC] ℹ️ Column company_address already exists
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with original_pdf_url
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with is_active = TRUE
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing categories with new fields
[25-Nov-2025 22:53:47 UTC] ✅ Default screen texts inserted successfully
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with empty language field
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with empty format field
[25-Nov-2025 22:53:47 UTC] ✅ Updated existing books with default external download link and protection values
[25-Nov-2025 22:53:47 UTC] ✅ Database tables created/updated successfully with all new fields
[25-Nov-2025 22:53:47 UTC] ℹ️ Favorites table not available for inspection
[25-Nov-2025 22:53:47 UTC] 📊 Database Info:
[25-Nov-2025 22:53:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[25-Nov-2025 22:53:47 UTC]    Books columns count: 45
[25-Nov-2025 22:53:47 UTC]    Categories columns count: 7
[25-Nov-2025 22:53:47 UTC]    Language field in books: YES
[25-Nov-2025 22:53:47 UTC]    Format field in books: YES
[25-Nov-2025 22:53:47 UTC]    Description field in categories: YES
[25-Nov-2025 22:53:47 UTC]    Display_order field in categories: YES
[25-Nov-2025 22:53:47 UTC]    Is_active field in categories: YES
[25-Nov-2025 22:53:47 UTC]    Is_active field in books: YES
[25-Nov-2025 22:53:47 UTC]    External_download_link field in books: YES
[25-Nov-2025 22:53:47 UTC]    Show_external_download_button field in books: YES
[25-Nov-2025 22:53:47 UTC]    External_download_protection_key field in books: YES
[25-Nov-2025 22:53:47 UTC]    Is_external_download_protected field in books: YES
[25-Nov-2025 22:53:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 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 22:53:47 UTC] ℹ️ Database is already at version 24
[25-Nov-2025 22:53:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 01:18: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
[26-Nov-2025 01:18:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:01 UTC] 📊 Database Info:
[26-Nov-2025 01:18:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:01 UTC]    Books columns count: 45
[26-Nov-2025 01:18:01 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:01 UTC]    Language field in books: YES
[26-Nov-2025 01:18:01 UTC]    Format field in books: YES
[26-Nov-2025 01:18:01 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:01 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 01:18:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 01:18:01 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 01:18:01 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 01:18:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 01:18:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01:18:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 01:18:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 01:18:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 01:18:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 01:18:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 01:18:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 01:18:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 01:18:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 01:18:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 01:18:03 UTC] 📊 Database Info:
[26-Nov-2025 01:18:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 01:18:03 UTC]    Books columns count: 45
[26-Nov-2025 01:18:03 UTC]    Categories columns count: 7
[26-Nov-2025 01:18:03 UTC]    Language field in books: YES
[26-Nov-2025 01:18:03 UTC]    Format field in books: YES
[26-Nov-2025 01:18:03 UTC]    Description field in categories: YES
[26-Nov-2025 01:18:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 01:18:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 01:18:03 UTC]    Is_active field in books: YES
[26-Nov-2025 01:18:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 01:18:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 01:18:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 01:18:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 01:18:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01: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
[26-Nov-2025 01:18:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 01:18:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 03:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 03:11:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 03:11:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 03:11:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 03:11:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 03:11:30 UTC] 📊 Database Info:
[26-Nov-2025 03:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 03:11:30 UTC]    Books columns count: 45
[26-Nov-2025 03:11:30 UTC]    Categories columns count: 7
[26-Nov-2025 03:11:30 UTC]    Language field in books: YES
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 03:11:30 UTC]    Format field in books: YES
[26-Nov-2025 03:11:30 UTC]    Description field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 03:11:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 03:11:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03:11:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 03:11:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 03:11:30 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 03:11:30 UTC] 📊 Database Info:
[26-Nov-2025 03:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 03:11:30 UTC]    Books columns count: 45
[26-Nov-2025 03:11:30 UTC]    Categories columns count: 7
[26-Nov-2025 03:11:30 UTC]    Language field in books: YES
[26-Nov-2025 03:11:30 UTC]    Format field in books: YES
[26-Nov-2025 03:11:30 UTC]    Description field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 03:11:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 03:11:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 03:11:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 03:11:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 03:11:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 03:11:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 03:11:30 UTC] 📊 Database Info:
[26-Nov-2025 03:11:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 03:11:30 UTC]    Books columns count: 45
[26-Nov-2025 03:11:30 UTC]    Categories columns count: 7
[26-Nov-2025 03:11:30 UTC]    Language field in books: YES
[26-Nov-2025 03:11:30 UTC]    Format field in books: YES
[26-Nov-2025 03:11:30 UTC]    Description field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 03:11:30 UTC]    Is_active field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 03:11:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 03:11:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 03:11:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03: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
[26-Nov-2025 03:11:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 03:11:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 03:11:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 03:11:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 03:11:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 12:17:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:17:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:17:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:17:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:17:01 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17: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
[26-Nov-2025 12:17:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:17:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:17:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:17:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:17:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:17:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:17:01 UTC] 📊 Database Info:
[26-Nov-2025 12:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:17:01 UTC]    Books columns count: 45
[26-Nov-2025 12:17:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:17:01 UTC]    Language field in books: YES
[26-Nov-2025 12:17:01 UTC]    Format field in books: YES
[26-Nov-2025 12:17:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:17:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:17:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:17:01 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:17:01 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 12:17:01 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:17:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:17:01 UTC] 📊 Database Info:
[26-Nov-2025 12:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:17:01 UTC]    Books columns count: 45
[26-Nov-2025 12:17:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:17:01 UTC]    Language field in books: YES
[26-Nov-2025 12:17:01 UTC]    Format field in books: YES
[26-Nov-2025 12:17:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:17:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:17:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:17:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:17:01 UTC] 📊 Database Info:
[26-Nov-2025 12:17:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:17:01 UTC]    Books columns count: 45
[26-Nov-2025 12:17:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:17:01 UTC]    Language field in books: YES
[26-Nov-2025 12:17:01 UTC]    Format field in books: YES
[26-Nov-2025 12:17:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:17:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:17:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:17:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:17:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:17:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:17:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:17:01 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 12:17:01 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:01 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:55:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:01 UTC] 📊 Database Info:
[26-Nov-2025 12:55:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:01 UTC]    Books columns count: 45
[26-Nov-2025 12:55:01 UTC]    Categories columns count: 7
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC]    Language field in books: YES
[26-Nov-2025 12:55:01 UTC]    Format field in books: YES
[26-Nov-2025 12:55:01 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:01 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:01 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:55:01 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:06 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:06 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:55:06 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:55:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:55:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:55:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:06 UTC] 📊 Database Info:
[26-Nov-2025 12:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:06 UTC]    Books columns count: 45
[26-Nov-2025 12:55:06 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:06 UTC]    Language field in books: YES
[26-Nov-2025 12:55:06 UTC]    Format field in books: YES
[26-Nov-2025 12:55:06 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:06 UTC] 📊 Database Info:
[26-Nov-2025 12:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:06 UTC]    Books columns count: 45
[26-Nov-2025 12:55:06 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:06 UTC]    Language field in books: YES
[26-Nov-2025 12:55:06 UTC]    Format field in books: YES
[26-Nov-2025 12:55:06 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:55:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:55:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:55:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:55:06 UTC] 📊 Database Info:
[26-Nov-2025 12:55:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:55:06 UTC]    Books columns count: 45
[26-Nov-2025 12:55:06 UTC]    Categories columns count: 7
[26-Nov-2025 12:55:06 UTC]    Language field in books: YES
[26-Nov-2025 12:55:06 UTC]    Format field in books: YES
[26-Nov-2025 12:55:06 UTC]    Description field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:55:06 UTC]    Is_active field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:55:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:55:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:55:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:55:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:55:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:55:06 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:55:06 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:56:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:24 UTC] 📊 Database Info:
[26-Nov-2025 12:56:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:24 UTC]    Books columns count: 45
[26-Nov-2025 12:56:24 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:24 UTC]    Language field in books: YES
[26-Nov-2025 12:56:24 UTC]    Format field in books: YES
[26-Nov-2025 12:56:24 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:24 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:56:24 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:24 UTC] 📊 Database Info:
[26-Nov-2025 12:56:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:24 UTC]    Books columns count: 45
[26-Nov-2025 12:56:24 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:24 UTC]    Language field in books: YES
[26-Nov-2025 12:56:24 UTC]    Format field in books: YES
[26-Nov-2025 12:56:24 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:24 UTC] 📊 Database Info:
[26-Nov-2025 12:56:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:24 UTC]    Books columns count: 45
[26-Nov-2025 12:56:24 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:24 UTC]    Language field in books: YES
[26-Nov-2025 12:56:24 UTC]    Format field in books: YES
[26-Nov-2025 12:56:24 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:24 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:36 UTC] 📊 Database Info:
[26-Nov-2025 12:56:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:36 UTC]    Books columns count: 45
[26-Nov-2025 12:56:36 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:36 UTC]    Language field in books: YES
[26-Nov-2025 12:56:36 UTC]    Format field in books: YES
[26-Nov-2025 12:56:36 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:36 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:48 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:48 UTC] 📊 Database Info:
[26-Nov-2025 12:56:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:48 UTC]    Books columns count: 45
[26-Nov-2025 12:56:48 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:48 UTC]    Language field in books: YES
[26-Nov-2025 12:56:48 UTC]    Format field in books: YES
[26-Nov-2025 12:56:48 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:48 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:48 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:48 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:48 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:48 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:48 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:48 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:48 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:48 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:51 UTC] 📊 Database Info:
[26-Nov-2025 12:56:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:51 UTC]    Books columns count: 45
[26-Nov-2025 12:56:51 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:51 UTC]    Language field in books: YES
[26-Nov-2025 12:56:51 UTC]    Format field in books: YES
[26-Nov-2025 12:56:51 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:51 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:51 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:56:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:56: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
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:52 UTC] 📊 Database Info:
[26-Nov-2025 12:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:52 UTC]    Books columns count: 45
[26-Nov-2025 12:56:52 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:52 UTC]    Language field in books: YES
[26-Nov-2025 12:56:52 UTC]    Format field in books: YES
[26-Nov-2025 12:56:52 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:52 UTC] 📊 Database Info:
[26-Nov-2025 12:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:52 UTC]    Books columns count: 45
[26-Nov-2025 12:56:52 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:52 UTC]    Language field in books: YES
[26-Nov-2025 12:56:52 UTC]    Format field in books: YES
[26-Nov-2025 12:56:52 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:56:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:52 UTC] 📊 Database Info:
[26-Nov-2025 12:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:52 UTC]    Books columns count: 45
[26-Nov-2025 12:56:52 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:52 UTC]    Language field in books: YES
[26-Nov-2025 12:56:52 UTC]    Format field in books: YES
[26-Nov-2025 12:56:52 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:52 UTC] 📊 Database Info:
[26-Nov-2025 12:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:52 UTC]    Books columns count: 45
[26-Nov-2025 12:56:52 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:52 UTC]    Language field in books: YES
[26-Nov-2025 12:56:52 UTC]    Format field in books: YES
[26-Nov-2025 12:56:52 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:56:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:56:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:56:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:56:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:56:52 UTC] 📊 Database Info:
[26-Nov-2025 12:56:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:56:52 UTC]    Books columns count: 45
[26-Nov-2025 12:56:52 UTC]    Categories columns count: 7
[26-Nov-2025 12:56:52 UTC]    Language field in books: YES
[26-Nov-2025 12:56:52 UTC]    Format field in books: YES
[26-Nov-2025 12:56:52 UTC]    Description field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:56:52 UTC]    Is_active field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:56:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:56:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:56:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12: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
[26-Nov-2025 12:56:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:56:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:56:52 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 12:56:52 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 12:56:52 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57: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
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 12:57:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 12:57:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 12:57:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:57:03 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:57:03 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 12:57:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 12:57:03 UTC] 📊 Database Info:
[26-Nov-2025 12:57:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 12:57:03 UTC]    Books columns count: 45
[26-Nov-2025 12:57:03 UTC]    Categories columns count: 7
[26-Nov-2025 12:57:03 UTC]    Language field in books: YES
[26-Nov-2025 12:57:03 UTC]    Format field in books: YES
[26-Nov-2025 12:57:03 UTC]    Description field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 12:57:03 UTC]    Is_active field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 12:57:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 12:57:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 12:57:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 12:57:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 12:57:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:10 UTC] 📊 Database Info:
[26-Nov-2025 13:01:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:10 UTC]    Books columns count: 45
[26-Nov-2025 13:01:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:10 UTC]    Language field in books: YES
[26-Nov-2025 13:01:10 UTC]    Format field in books: YES
[26-Nov-2025 13:01:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:10 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:10 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:10 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:11 UTC] 📊 Database Info:
[26-Nov-2025 13:01:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:11 UTC]    Books columns count: 45
[26-Nov-2025 13:01:11 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:11 UTC]    Language field in books: YES
[26-Nov-2025 13:01:11 UTC]    Format field in books: YES
[26-Nov-2025 13:01:11 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:11 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:11 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:11 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:22 UTC] 📊 Database Info:
[26-Nov-2025 13:01:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:22 UTC]    Books columns count: 45
[26-Nov-2025 13:01:22 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:22 UTC]    Language field in books: YES
[26-Nov-2025 13:01:22 UTC]    Format field in books: YES
[26-Nov-2025 13:01:22 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:22 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:25 UTC] 📊 Database Info:
[26-Nov-2025 13:01:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:25 UTC]    Books columns count: 45
[26-Nov-2025 13:01:25 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:25 UTC]    Language field in books: YES
[26-Nov-2025 13:01:25 UTC]    Format field in books: YES
[26-Nov-2025 13:01:25 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01: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":true}
[26-Nov-2025 13:01:25 UTC] ?? Processing: home_screen - show_welcome_section: 1
[26-Nov-2025 13:01:25 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[26-Nov-2025 13:01:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:25 UTC] 📊 Database Info:
[26-Nov-2025 13:01:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:25 UTC]    Books columns count: 45
[26-Nov-2025 13:01:25 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:25 UTC]    Language field in books: YES
[26-Nov-2025 13:01:25 UTC]    Format field in books: YES
[26-Nov-2025 13:01:25 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:25 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01: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":true}
[26-Nov-2025 13:01:25 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[26-Nov-2025 13:01:25 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[26-Nov-2025 13:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:28 UTC] 📊 Database Info:
[26-Nov-2025 13:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:28 UTC]    Books columns count: 45
[26-Nov-2025 13:01:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:28 UTC]    Language field in books: YES
[26-Nov-2025 13:01:28 UTC]    Format field in books: YES
[26-Nov-2025 13:01:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:28 UTC] 📊 Database Info:
[26-Nov-2025 13:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:28 UTC]    Books columns count: 45
[26-Nov-2025 13:01:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:28 UTC]    Language field in books: YES
[26-Nov-2025 13:01:28 UTC]    Format field in books: YES
[26-Nov-2025 13:01:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:28 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:28 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:28 UTC] 📊 Database Info:
[26-Nov-2025 13:01:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:28 UTC]    Books columns count: 45
[26-Nov-2025 13:01:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:28 UTC]    Language field in books: YES
[26-Nov-2025 13:01:28 UTC]    Format field in books: YES
[26-Nov-2025 13:01:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:01:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:01: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
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:01:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:01:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:01:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:01:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:29 UTC] 📊 Database Info:
[26-Nov-2025 13:01:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:29 UTC]    Books columns count: 45
[26-Nov-2025 13:01:29 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:29 UTC]    Language field in books: YES
[26-Nov-2025 13:01:29 UTC]    Format field in books: YES
[26-Nov-2025 13:01:29 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:29 UTC] 📊 Database Info:
[26-Nov-2025 13:01:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:29 UTC]    Books columns count: 45
[26-Nov-2025 13:01:29 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:29 UTC]    Language field in books: YES
[26-Nov-2025 13:01:29 UTC]    Format field in books: YES
[26-Nov-2025 13:01:29 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:01:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:01:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:01:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:01:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:01:29 UTC] 📊 Database Info:
[26-Nov-2025 13:01:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:01:29 UTC]    Books columns count: 45
[26-Nov-2025 13:01:29 UTC]    Categories columns count: 7
[26-Nov-2025 13:01:29 UTC]    Language field in books: YES
[26-Nov-2025 13:01:29 UTC]    Format field in books: YES
[26-Nov-2025 13:01:29 UTC]    Description field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:01:29 UTC]    Is_active field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:01:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:01:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:01:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:01:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:01:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:01:29 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:01:29 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 13:01:29 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] 📊 Database Info:
[26-Nov-2025 13:08:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:20 UTC]    Books columns count: 45
[26-Nov-2025 13:08:20 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:20 UTC]    Language field in books: YES
[26-Nov-2025 13:08:20 UTC]    Format field in books: YES
[26-Nov-2025 13:08:20 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:20 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:20 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:20 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:20 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:20 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:20 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:20 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:21 UTC] 📊 Database Info:
[26-Nov-2025 13:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:21 UTC]    Books columns count: 45
[26-Nov-2025 13:08:21 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:21 UTC]    Language field in books: YES
[26-Nov-2025 13:08:21 UTC]    Format field in books: YES
[26-Nov-2025 13:08:21 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:21 UTC] 📊 Database Info:
[26-Nov-2025 13:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:21 UTC]    Books columns count: 45
[26-Nov-2025 13:08:21 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:21 UTC]    Language field in books: YES
[26-Nov-2025 13:08:21 UTC]    Format field in books: YES
[26-Nov-2025 13:08:21 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:21 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:21 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:21 UTC] 📊 Database Info:
[26-Nov-2025 13:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:21 UTC]    Books columns count: 45
[26-Nov-2025 13:08:21 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:21 UTC]    Language field in books: YES
[26-Nov-2025 13:08:21 UTC]    Format field in books: YES
[26-Nov-2025 13:08:21 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:21 UTC] 📊 Database Info:
[26-Nov-2025 13:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:21 UTC]    Books columns count: 45
[26-Nov-2025 13:08:21 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:21 UTC]    Language field in books: YES
[26-Nov-2025 13:08:21 UTC]    Format field in books: YES
[26-Nov-2025 13:08:21 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:21 UTC] 📊 Database Info:
[26-Nov-2025 13:08:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:21 UTC]    Books columns count: 45
[26-Nov-2025 13:08:21 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:21 UTC]    Language field in books: YES
[26-Nov-2025 13:08:21 UTC]    Format field in books: YES
[26-Nov-2025 13:08:21 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:21 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:21 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:21 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:35 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:35 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:35 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:35 UTC] 📊 Database Info:
[26-Nov-2025 13:08:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:35 UTC]    Books columns count: 45
[26-Nov-2025 13:08:35 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:35 UTC]    Language field in books: YES
[26-Nov-2025 13:08:35 UTC]    Format field in books: YES
[26-Nov-2025 13:08:35 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:35 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:36 UTC] 📊 Database Info:
[26-Nov-2025 13:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:36 UTC]    Books columns count: 45
[26-Nov-2025 13:08:36 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:36 UTC]    Language field in books: YES
[26-Nov-2025 13:08:36 UTC]    Format field in books: YES
[26-Nov-2025 13:08:36 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:36 UTC] 📊 Database Info:
[26-Nov-2025 13:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:36 UTC]    Books columns count: 45
[26-Nov-2025 13:08:36 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:36 UTC]    Language field in books: YES
[26-Nov-2025 13:08:36 UTC]    Format field in books: YES
[26-Nov-2025 13:08:36 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:36 UTC] 📊 Database Info:
[26-Nov-2025 13:08:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:36 UTC]    Books columns count: 45
[26-Nov-2025 13:08:36 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:36 UTC]    Language field in books: YES
[26-Nov-2025 13:08:36 UTC]    Format field in books: YES
[26-Nov-2025 13:08:36 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:36 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:36 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:36 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:38 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:38 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:38 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:38 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:38 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:38 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:38 UTC] 📊 Database Info:
[26-Nov-2025 13:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:38 UTC]    Books columns count: 45
[26-Nov-2025 13:08:38 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:38 UTC]    Language field in books: YES
[26-Nov-2025 13:08:38 UTC]    Format field in books: YES
[26-Nov-2025 13:08:38 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:38 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:38 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:38 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:38 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:38 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:38 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:38 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:38 UTC] 📊 Database Info:
[26-Nov-2025 13:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:38 UTC]    Books columns count: 45
[26-Nov-2025 13:08:38 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:38 UTC]    Language field in books: YES
[26-Nov-2025 13:08:38 UTC]    Format field in books: YES
[26-Nov-2025 13:08:38 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:38 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:38 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:38 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:38 UTC] 📊 Database Info:
[26-Nov-2025 13:08:38 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:38 UTC]    Books columns count: 45
[26-Nov-2025 13:08:38 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:38 UTC]    Language field in books: YES
[26-Nov-2025 13:08:38 UTC]    Format field in books: YES
[26-Nov-2025 13:08:38 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Display_order field in categories: YES
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:38 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:38 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:38 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:38 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:38 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:38 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:45 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:45 UTC] 📊 Database Info:
[26-Nov-2025 13:08:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:45 UTC]    Books columns count: 45
[26-Nov-2025 13:08:45 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:45 UTC]    Language field in books: YES
[26-Nov-2025 13:08:45 UTC]    Format field in books: YES
[26-Nov-2025 13:08:45 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:45 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:45 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:08:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:47 UTC] 📊 Database Info:
[26-Nov-2025 13:08:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:47 UTC]    Books columns count: 45
[26-Nov-2025 13:08:47 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:47 UTC]    Language field in books: YES
[26-Nov-2025 13:08:47 UTC]    Format field in books: YES
[26-Nov-2025 13:08:47 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:47 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:47 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:47 UTC] 📊 Database Info:
[26-Nov-2025 13:08:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:47 UTC]    Books columns count: 45
[26-Nov-2025 13:08:47 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:47 UTC]    Language field in books: YES
[26-Nov-2025 13:08:47 UTC]    Format field in books: YES
[26-Nov-2025 13:08:47 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:47 UTC] 📊 Database Info:
[26-Nov-2025 13:08:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:47 UTC]    Books columns count: 45
[26-Nov-2025 13:08:47 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:47 UTC]    Language field in books: YES
[26-Nov-2025 13:08:47 UTC]    Format field in books: YES
[26-Nov-2025 13:08:47 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:47 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08: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
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:08:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:59 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:08:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:08:59 UTC] 📊 Database Info:
[26-Nov-2025 13:08:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:08:59 UTC]    Books columns count: 45
[26-Nov-2025 13:08:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:08:59 UTC]    Language field in books: YES
[26-Nov-2025 13:08:59 UTC]    Format field in books: YES
[26-Nov-2025 13:08:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:08:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:08:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:08:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:08:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:08:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:08:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-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
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:09:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-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
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:09:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:09:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:09:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:09:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:09:05 UTC] 📊 Database Info:
[26-Nov-2025 13:09:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:09:05 UTC]    Books columns count: 45
[26-Nov-2025 13:09:05 UTC]    Categories columns count: 7
[26-Nov-2025 13:09:05 UTC]    Language field in books: YES
[26-Nov-2025 13:09:05 UTC]    Format field in books: YES
[26-Nov-2025 13:09:05 UTC]    Description field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:09:05 UTC]    Is_active field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:09:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:09:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:09:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:09:05 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:09:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:09:05 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:09:05 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:10:28 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:10:28 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:28 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:28 UTC] 📊 Database Info:
[26-Nov-2025 13:10:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC]    Books columns count: 45
[26-Nov-2025 13:10:28 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Language field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Format field in books: YES
[26-Nov-2025 13:10:28 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:28 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:10:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:10:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:10:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:10:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:10:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:10:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:10:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:10:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:10:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:10:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:10:33 UTC] 📊 Database Info:
[26-Nov-2025 13:10:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:10:33 UTC]    Books columns count: 45
[26-Nov-2025 13:10:33 UTC]    Categories columns count: 7
[26-Nov-2025 13:10:33 UTC]    Language field in books: YES
[26-Nov-2025 13:10:33 UTC]    Format field in books: YES
[26-Nov-2025 13:10:33 UTC]    Description field in categories: YES
[26-Nov-2025 13:10:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:10:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:10:33 UTC]    Is_active field in books: YES
[26-Nov-2025 13:10:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:10:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:10:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:10:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:10:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:10:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:10:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:18:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:18:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:18:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:18:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:18:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:18:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:18:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:18:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:18:51 UTC] 📊 Database Info:
[26-Nov-2025 13:18:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:18:51 UTC]    Books columns count: 45
[26-Nov-2025 13:18:51 UTC]    Categories columns count: 7
[26-Nov-2025 13:18:51 UTC]    Language field in books: YES
[26-Nov-2025 13:18:51 UTC]    Format field in books: YES
[26-Nov-2025 13:18:51 UTC]    Description field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:18:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:18:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:18:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:18:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:18:51 UTC] 📊 Database Info:
[26-Nov-2025 13:18:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:18:51 UTC]    Books columns count: 45
[26-Nov-2025 13:18:51 UTC]    Categories columns count: 7
[26-Nov-2025 13:18:51 UTC]    Language field in books: YES
[26-Nov-2025 13:18:51 UTC]    Format field in books: YES
[26-Nov-2025 13:18:51 UTC]    Description field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:18:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:18:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:18:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:18:51 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:18:51 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:18:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:18:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:18:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:18:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:18:51 UTC] 📊 Database Info:
[26-Nov-2025 13:18:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:18:51 UTC]    Books columns count: 45
[26-Nov-2025 13:18:51 UTC]    Categories columns count: 7
[26-Nov-2025 13:18:51 UTC]    Language field in books: YES
[26-Nov-2025 13:18:51 UTC]    Format field in books: YES
[26-Nov-2025 13:18:51 UTC]    Description field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:18:51 UTC]    Is_active field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:18:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:18:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:18:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:18:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:18:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:27:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:27:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:27:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:27:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27: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
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:27:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:27:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:27:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:27:32 UTC] 📊 Database Info:
[26-Nov-2025 13:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:27:32 UTC]    Books columns count: 45
[26-Nov-2025 13:27:32 UTC]    Categories columns count: 7
[26-Nov-2025 13:27:32 UTC]    Language field in books: YES
[26-Nov-2025 13:27:32 UTC]    Format field in books: YES
[26-Nov-2025 13:27:32 UTC]    Description field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:27:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:27:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:27:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:27:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:27:32 UTC] 📊 Database Info:
[26-Nov-2025 13:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:27:32 UTC]    Books columns count: 45
[26-Nov-2025 13:27:32 UTC]    Categories columns count: 7
[26-Nov-2025 13:27:32 UTC]    Language field in books: YES
[26-Nov-2025 13:27:32 UTC]    Format field in books: YES
[26-Nov-2025 13:27:32 UTC]    Description field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:27:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:27:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:27:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:27:32 UTC] 📊 Database Info:
[26-Nov-2025 13:27:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:27:32 UTC]    Books columns count: 45
[26-Nov-2025 13:27:32 UTC]    Categories columns count: 7
[26-Nov-2025 13:27:32 UTC]    Language field in books: YES
[26-Nov-2025 13:27:32 UTC]    Format field in books: YES
[26-Nov-2025 13:27:32 UTC]    Description field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:27:32 UTC]    Is_active field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:27:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:27:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:27:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:27:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:27:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:27:32 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 13:27:32 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 13:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:48:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:48:08 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:48:08 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:48:08 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:48:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:48:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:08 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:48:08 UTC] 📊 Database Info:
[26-Nov-2025 13:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:48:08 UTC]    Books columns count: 45
[26-Nov-2025 13:48:08 UTC]    Categories columns count: 7
[26-Nov-2025 13:48:08 UTC]    Language field in books: YES
[26-Nov-2025 13:48:08 UTC]    Format field in books: YES
[26-Nov-2025 13:48:08 UTC]    Description field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:48:08 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:48:08 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:48:08 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 13:48:08 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:48:08 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:48:08 UTC] 📊 Database Info:
[26-Nov-2025 13:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:48:08 UTC]    Books columns count: 45
[26-Nov-2025 13:48:08 UTC]    Categories columns count: 7
[26-Nov-2025 13:48:08 UTC]    Language field in books: YES
[26-Nov-2025 13:48:08 UTC]    Format field in books: YES
[26-Nov-2025 13:48:08 UTC]    Description field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:48:08 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:48:08 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:48:08 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 13:48:08 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 13:48:08 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 13:48:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:48:08 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:48:08 UTC] 📊 Database Info:
[26-Nov-2025 13:48:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:48:08 UTC]    Books columns count: 45
[26-Nov-2025 13:48:08 UTC]    Categories columns count: 7
[26-Nov-2025 13:48:08 UTC]    Language field in books: YES
[26-Nov-2025 13:48:08 UTC]    Format field in books: YES
[26-Nov-2025 13:48:08 UTC]    Description field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:48:08 UTC]    Is_active field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:48:08 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:48:08 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:48:08 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:48:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:48:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:48:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:48:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:48:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:48:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:48:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:48:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:48:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:48:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:48:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:48:10 UTC] 📊 Database Info:
[26-Nov-2025 13:48:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:48:10 UTC]    Books columns count: 45
[26-Nov-2025 13:48:10 UTC]    Categories columns count: 7
[26-Nov-2025 13:48:10 UTC]    Language field in books: YES
[26-Nov-2025 13:48:10 UTC]    Format field in books: YES
[26-Nov-2025 13:48:10 UTC]    Description field in categories: YES
[26-Nov-2025 13:48:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:48:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:48:10 UTC]    Is_active field in books: YES
[26-Nov-2025 13:48:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:48:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:48:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:48:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:48:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:48:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:48:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:50:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:50:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:50:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:50:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:50:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:50:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:50: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
[26-Nov-2025 13:50:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 13:50: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
[26-Nov-2025 13:50:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:50:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:50:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:50:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:50:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:50:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:50:59 UTC] 📊 Database Info:
[26-Nov-2025 13:50:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:50:59 UTC]    Books columns count: 45
[26-Nov-2025 13:50:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:50:59 UTC]    Language field in books: YES
[26-Nov-2025 13:50:59 UTC]    Format field in books: YES
[26-Nov-2025 13:50:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:50:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:50:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:50:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:50:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:50:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:50:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:50:59 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"WELCOME ","description_text":"Discover our collection of documents organized by category. Easily find what you’re looking for and start reading instantly.","show_welcome_section":true}
[26-Nov-2025 13:50:59 UTC] ?? Processing: home_screen - show_welcome_section: 1
[26-Nov-2025 13:50:59 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[26-Nov-2025 13:50:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 13:50:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:50:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13: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
[26-Nov-2025 13:50:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 13:50:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 13:50:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 13:50:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 13:50:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 13:50:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 13:50:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 13:50:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 13:50:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 13:50:59 UTC] 📊 Database Info:
[26-Nov-2025 13:50:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 13:50:59 UTC]    Books columns count: 45
[26-Nov-2025 13:50:59 UTC]    Categories columns count: 7
[26-Nov-2025 13:50:59 UTC]    Language field in books: YES
[26-Nov-2025 13:50:59 UTC]    Format field in books: YES
[26-Nov-2025 13:50:59 UTC]    Description field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 13:50:59 UTC]    Is_active field in books: YES
[26-Nov-2025 13:50:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 13:50:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 13:50:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 13:50:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 13:50:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 13:50:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 13:50:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 13:50:59 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"WELCOME ","description_text":"Where Every Professor and Student Finds the Right Resource.","show_welcome_section":true}
[26-Nov-2025 13:50:59 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[26-Nov-2025 13:50:59 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:32 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:00:32 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:32 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:32 UTC] 📊 Database Info:
[26-Nov-2025 14:00:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:32 UTC]    Books columns count: 45
[26-Nov-2025 14:00:32 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:32 UTC]    Language field in books: YES
[26-Nov-2025 14:00:32 UTC]    Format field in books: YES
[26-Nov-2025 14:00:32 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:33 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:33 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:00:33 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:45 UTC] 📊 Database Info:
[26-Nov-2025 14:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:45 UTC]    Books columns count: 45
[26-Nov-2025 14:00:45 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:45 UTC]    Language field in books: YES
[26-Nov-2025 14:00:45 UTC]    Format field in books: YES
[26-Nov-2025 14:00:45 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:45 UTC] 📊 Database Info:
[26-Nov-2025 14:00:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:45 UTC]    Books columns count: 45
[26-Nov-2025 14:00:45 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:45 UTC]    Language field in books: YES
[26-Nov-2025 14:00:45 UTC]    Format field in books: YES
[26-Nov-2025 14:00:45 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:45 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:46 UTC] 📊 Database Info:
[26-Nov-2025 14:00:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:46 UTC]    Books columns count: 45
[26-Nov-2025 14:00:46 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:46 UTC]    Language field in books: YES
[26-Nov-2025 14:00:46 UTC]    Format field in books: YES
[26-Nov-2025 14:00:46 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:46 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:00:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:00:46 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:00:46 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00: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
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:00:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:00:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:00:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:52 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:00:52 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:00:52 UTC] 📊 Database Info:
[26-Nov-2025 14:00:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:00:52 UTC]    Books columns count: 45
[26-Nov-2025 14:00:52 UTC]    Categories columns count: 7
[26-Nov-2025 14:00:52 UTC]    Language field in books: YES
[26-Nov-2025 14:00:52 UTC]    Format field in books: YES
[26-Nov-2025 14:00:52 UTC]    Description field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:00:52 UTC]    Is_active field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:00:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:00:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:00:52 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:00:52 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:00:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:00:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:01:02 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:02 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:02 UTC] 📊 Database Info:
[26-Nov-2025 14:01:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:02 UTC]    Books columns count: 45
[26-Nov-2025 14:01:02 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:02 UTC]    Language field in books: YES
[26-Nov-2025 14:01:02 UTC]    Format field in books: YES
[26-Nov-2025 14:01:02 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:02 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14: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
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:02 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:02 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:02 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:03 UTC] 📊 Database Info:
[26-Nov-2025 14:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:03 UTC]    Books columns count: 45
[26-Nov-2025 14:01:03 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:03 UTC]    Language field in books: YES
[26-Nov-2025 14:01:03 UTC]    Format field in books: YES
[26-Nov-2025 14:01:03 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:01: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
[26-Nov-2025 14:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:01:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:03 UTC] 📊 Database Info:
[26-Nov-2025 14:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:03 UTC]    Books columns count: 45
[26-Nov-2025 14:01:03 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:03 UTC]    Language field in books: YES
[26-Nov-2025 14:01:03 UTC]    Format field in books: YES
[26-Nov-2025 14:01:03 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:03 UTC] 📊 Database Info:
[26-Nov-2025 14:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:03 UTC]    Books columns count: 45
[26-Nov-2025 14:01:03 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:03 UTC]    Language field in books: YES
[26-Nov-2025 14:01:03 UTC]    Format field in books: YES
[26-Nov-2025 14:01:03 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:01:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:01:03 UTC] 📊 Database Info:
[26-Nov-2025 14:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:01:03 UTC]    Books columns count: 45
[26-Nov-2025 14:01:03 UTC]    Categories columns count: 7
[26-Nov-2025 14:01:03 UTC]    Language field in books: YES
[26-Nov-2025 14:01:03 UTC]    Format field in books: YES
[26-Nov-2025 14:01:03 UTC]    Description field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:01:03 UTC]    Is_active field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:01:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:01:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:01:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:01:03 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 14:01:03 UTC] 📁 جلب تصنيفات البروفايل النشطة فقط
[26-Nov-2025 14:01:03 UTC] ✅ إرجاع 0 تصنيف بروفايل نشط
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15: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
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:15:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 14:15:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 14:15:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:15:36 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:15:36 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:15:36 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 14:15:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 14:15:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 14:15:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 14:15:36 UTC] 📊 Database Info:
[26-Nov-2025 14:15:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 14:15:36 UTC]    Books columns count: 45
[26-Nov-2025 14:15:36 UTC]    Categories columns count: 7
[26-Nov-2025 14:15:36 UTC]    Language field in books: YES
[26-Nov-2025 14:15:36 UTC]    Format field in books: YES
[26-Nov-2025 14:15:36 UTC]    Description field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 14:15:36 UTC]    Is_active field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 14:15:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 14:15:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 14:15:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 14:15:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 14:15:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 17:38: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
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:25 UTC] 📊 Database Info:
[26-Nov-2025 17:38:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:25 UTC]    Books columns count: 45
[26-Nov-2025 17:38:25 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:25 UTC]    Language field in books: YES
[26-Nov-2025 17:38:25 UTC]    Format field in books: YES
[26-Nov-2025 17:38:25 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 17:38:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 17:38:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:25 UTC] 📊 Database Info:
[26-Nov-2025 17:38:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:25 UTC]    Books columns count: 45
[26-Nov-2025 17:38:25 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:25 UTC]    Language field in books: YES
[26-Nov-2025 17:38:25 UTC]    Format field in books: YES
[26-Nov-2025 17:38:25 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:25 UTC] 📊 Database Info:
[26-Nov-2025 17:38:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:25 UTC]    Books columns count: 45
[26-Nov-2025 17:38:25 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:25 UTC]    Language field in books: YES
[26-Nov-2025 17:38:25 UTC]    Format field in books: YES
[26-Nov-2025 17:38:25 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:25 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 17:38:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 17:38:25 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 17:38:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:29 UTC] 📊 Database Info:
[26-Nov-2025 17:38:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:29 UTC]    Books columns count: 45
[26-Nov-2025 17:38:29 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:29 UTC]    Language field in books: YES
[26-Nov-2025 17:38:29 UTC]    Format field in books: YES
[26-Nov-2025 17:38:29 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:29 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:30 UTC] 📊 Database Info:
[26-Nov-2025 17:38:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:30 UTC]    Books columns count: 45
[26-Nov-2025 17:38:30 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:30 UTC]    Language field in books: YES
[26-Nov-2025 17:38:30 UTC]    Format field in books: YES
[26-Nov-2025 17:38:30 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:30 UTC] ?? Received data: {"screen_name":"home_screen","title_text":"WELCOME ","description_text":"Discover our collection of documents organized by category. Easily find what you’re looking for and start reading instantly.","show_welcome_section":true}
[26-Nov-2025 17:38:30 UTC] ?? Processing: home_screen - show_welcome_section: 1
[26-Nov-2025 17:38:30 UTC] ✅ Updated home_screen successfully - show_welcome_section: 1
[26-Nov-2025 17:38:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:38:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:38:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:38:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:38:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:38:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:38:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:38:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:38:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:38:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:38:30 UTC] 📊 Database Info:
[26-Nov-2025 17:38:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:38:30 UTC]    Books columns count: 45
[26-Nov-2025 17:38:30 UTC]    Categories columns count: 7
[26-Nov-2025 17:38:30 UTC]    Language field in books: YES
[26-Nov-2025 17:38:30 UTC]    Format field in books: YES
[26-Nov-2025 17:38:30 UTC]    Description field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:38:30 UTC]    Is_active field in books: YES
[26-Nov-2025 17:38:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:38:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:38:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:38:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:38:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:38:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:38:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:38:30 UTC] ?? Received data: {"screen_name":"profile_screen","title_text":"WELCOME ","description_text":"Where Every Professor and Student Finds the Right Resource.","show_welcome_section":true}
[26-Nov-2025 17:38:30 UTC] ?? Processing: profile_screen - show_welcome_section: 1
[26-Nov-2025 17:38:30 UTC] ✅ Updated profile_screen successfully - show_welcome_section: 1
[26-Nov-2025 17:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:39:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:39:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 17:39:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 17:39:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 17:39:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 17:39:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:39:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:39:22 UTC] 📊 Database Info:
[26-Nov-2025 17:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:39:22 UTC]    Books columns count: 45
[26-Nov-2025 17:39:22 UTC]    Categories columns count: 7
[26-Nov-2025 17:39:22 UTC]    Language field in books: YES
[26-Nov-2025 17:39:22 UTC]    Format field in books: YES
[26-Nov-2025 17:39:22 UTC]    Description field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:39:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:39:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:39:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:39:22 UTC] 📊 Database Info:
[26-Nov-2025 17:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:39:22 UTC]    Books columns count: 45
[26-Nov-2025 17:39:22 UTC]    Categories columns count: 7
[26-Nov-2025 17:39:22 UTC]    Language field in books: YES
[26-Nov-2025 17:39:22 UTC]    Format field in books: YES
[26-Nov-2025 17:39:22 UTC]    Description field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:39:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:39:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:39:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 17:39:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 17:39:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 17:39:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 17:39:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 17:39:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 17:39:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 17:39:22 UTC] 📊 Database Info:
[26-Nov-2025 17:39:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 17:39:22 UTC]    Books columns count: 45
[26-Nov-2025 17:39:22 UTC]    Categories columns count: 7
[26-Nov-2025 17:39:22 UTC]    Language field in books: YES
[26-Nov-2025 17:39:22 UTC]    Format field in books: YES
[26-Nov-2025 17:39:22 UTC]    Description field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 17:39:22 UTC]    Is_active field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 17:39:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 17:39:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 17:39:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17: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
[26-Nov-2025 17:39:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 17:39:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 17:39:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 17:39:22 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 18:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:00:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:00:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:00:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:00:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:00:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:00:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:00:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:00:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:00:51 UTC] 📊 Database Info:
[26-Nov-2025 18:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:00:51 UTC]    Books columns count: 45
[26-Nov-2025 18:00:51 UTC]    Categories columns count: 7
[26-Nov-2025 18:00:51 UTC]    Language field in books: YES
[26-Nov-2025 18:00:51 UTC]    Format field in books: YES
[26-Nov-2025 18:00:51 UTC]    Description field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:00:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:00:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:00:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 18:00:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 18:00:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:00:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:00:51 UTC] 📊 Database Info:
[26-Nov-2025 18:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:00:51 UTC]    Books columns count: 45
[26-Nov-2025 18:00:51 UTC]    Categories columns count: 7
[26-Nov-2025 18:00:51 UTC]    Language field in books: YES
[26-Nov-2025 18:00:51 UTC]    Format field in books: YES
[26-Nov-2025 18:00:51 UTC]    Description field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:00:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:00:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:00:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 18:00:51 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 18:00:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:00:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:00:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:00:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:00:51 UTC] 📊 Database Info:
[26-Nov-2025 18:00:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:00:51 UTC]    Books columns count: 45
[26-Nov-2025 18:00:51 UTC]    Categories columns count: 7
[26-Nov-2025 18:00:51 UTC]    Language field in books: YES
[26-Nov-2025 18:00:51 UTC]    Format field in books: YES
[26-Nov-2025 18:00:51 UTC]    Description field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:00:51 UTC]    Is_active field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:00:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:00:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:00:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:00:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:00:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:01:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:01: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
[26-Nov-2025 18:01:03 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:01: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
[26-Nov-2025 18:01:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:01:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:01:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:01:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:01:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:01:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:01:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:01:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:01:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:01:03 UTC] 📊 Database Info:
[26-Nov-2025 18:01:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:01:03 UTC]    Books columns count: 45
[26-Nov-2025 18:01:03 UTC]    Categories columns count: 7
[26-Nov-2025 18:01:03 UTC]    Language field in books: YES
[26-Nov-2025 18:01:03 UTC]    Format field in books: YES
[26-Nov-2025 18:01:03 UTC]    Description field in categories: YES
[26-Nov-2025 18:01:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:01:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:01:03 UTC]    Is_active field in books: YES
[26-Nov-2025 18:01:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:01:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:01:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:01:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:01:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:01:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:01:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:01:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:01:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:01:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:01: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
[26-Nov-2025 18:01:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:01: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
[26-Nov-2025 18:01:04 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:01:04 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:01:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:01:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:01:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:01:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:01:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:01:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:01:04 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:01:04 UTC] 📊 Database Info:
[26-Nov-2025 18:01:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:01:04 UTC]    Books columns count: 45
[26-Nov-2025 18:01:04 UTC]    Categories columns count: 7
[26-Nov-2025 18:01:04 UTC]    Language field in books: YES
[26-Nov-2025 18:01:04 UTC]    Format field in books: YES
[26-Nov-2025 18:01:04 UTC]    Description field in categories: YES
[26-Nov-2025 18:01:04 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:01:04 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:01:04 UTC]    Is_active field in books: YES
[26-Nov-2025 18:01:04 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:01:04 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:01:04 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:01:04 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:01:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:01:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:01:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:16 UTC] 📊 Database Info:
[26-Nov-2025 18:02:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:16 UTC]    Books columns count: 45
[26-Nov-2025 18:02:16 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:16 UTC]    Language field in books: YES
[26-Nov-2025 18:02:16 UTC]    Format field in books: YES
[26-Nov-2025 18:02:16 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:16 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:17 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:17 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:17 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:17 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:17 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:17 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:17 UTC] 📊 Database Info:
[26-Nov-2025 18:02:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:17 UTC]    Books columns count: 45
[26-Nov-2025 18:02:17 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:17 UTC]    Language field in books: YES
[26-Nov-2025 18:02:17 UTC]    Format field in books: YES
[26-Nov-2025 18:02:17 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:17 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:17 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:17 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:17 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:17 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:17 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:17 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:17 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:17 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:22 UTC] 📊 Database Info:
[26-Nov-2025 18:02:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:22 UTC]    Books columns count: 45
[26-Nov-2025 18:02:22 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:22 UTC]    Language field in books: YES
[26-Nov-2025 18:02:22 UTC]    Format field in books: YES
[26-Nov-2025 18:02:22 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:22 UTC] 📊 Database Info:
[26-Nov-2025 18:02:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:22 UTC]    Books columns count: 45
[26-Nov-2025 18:02:22 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:22 UTC]    Language field in books: YES
[26-Nov-2025 18:02:22 UTC]    Format field in books: YES
[26-Nov-2025 18:02:22 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:22 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:29 UTC] 📊 Database Info:
[26-Nov-2025 18:02:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:29 UTC]    Books columns count: 45
[26-Nov-2025 18:02:29 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:29 UTC]    Language field in books: YES
[26-Nov-2025 18:02:29 UTC]    Format field in books: YES
[26-Nov-2025 18:02:29 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:29 UTC] 📊 Database Info:
[26-Nov-2025 18:02:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:29 UTC]    Books columns count: 45
[26-Nov-2025 18:02:29 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:29 UTC]    Language field in books: YES
[26-Nov-2025 18:02:29 UTC]    Format field in books: YES
[26-Nov-2025 18:02:29 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:29 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:34 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:34 UTC] 📊 Database Info:
[26-Nov-2025 18:02:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:34 UTC]    Books columns count: 45
[26-Nov-2025 18:02:34 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:34 UTC]    Language field in books: YES
[26-Nov-2025 18:02:34 UTC]    Format field in books: YES
[26-Nov-2025 18:02:34 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:34 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:34 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:34 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:34 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:34 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:34 UTC] 📊 Database Info:
[26-Nov-2025 18:02:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:34 UTC]    Books columns count: 45
[26-Nov-2025 18:02:34 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:34 UTC]    Language field in books: YES
[26-Nov-2025 18:02:34 UTC]    Format field in books: YES
[26-Nov-2025 18:02:34 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:34 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:34 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:34 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:34 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:34 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:39 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:39 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:39 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:39 UTC] 📊 Database Info:
[26-Nov-2025 18:02:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:39 UTC]    Books columns count: 45
[26-Nov-2025 18:02:39 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:39 UTC]    Language field in books: YES
[26-Nov-2025 18:02:39 UTC]    Format field in books: YES
[26-Nov-2025 18:02:39 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:39 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:39 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:39 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:39 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:39 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:39 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:39 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:39 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:39 UTC] 📊 Database Info:
[26-Nov-2025 18:02:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:39 UTC]    Books columns count: 45
[26-Nov-2025 18:02:39 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:39 UTC]    Language field in books: YES
[26-Nov-2025 18:02:39 UTC]    Format field in books: YES
[26-Nov-2025 18:02:39 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:39 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:39 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:39 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:39 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:39 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:46 UTC] 📊 Database Info:
[26-Nov-2025 18:02:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:46 UTC]    Books columns count: 45
[26-Nov-2025 18:02:46 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:46 UTC]    Language field in books: YES
[26-Nov-2025 18:02:46 UTC]    Format field in books: YES
[26-Nov-2025 18:02:46 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:46 UTC] 📊 Database Info:
[26-Nov-2025 18:02:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:46 UTC]    Books columns count: 45
[26-Nov-2025 18:02:46 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:46 UTC]    Language field in books: YES
[26-Nov-2025 18:02:46 UTC]    Format field in books: YES
[26-Nov-2025 18:02:46 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:46 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:50 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:50 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:50 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:50 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:50 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:50 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:50 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:50 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:50 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:50 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:50 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:50 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:50 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:50 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:50 UTC] 📊 Database Info:
[26-Nov-2025 18:02:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:50 UTC]    Books columns count: 45
[26-Nov-2025 18:02:50 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:50 UTC]    Language field in books: YES
[26-Nov-2025 18:02:50 UTC]    Format field in books: YES
[26-Nov-2025 18:02:50 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:50 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:50 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:50 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:50 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:50 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:50 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:50 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:50 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:50 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:51 UTC] 📊 Database Info:
[26-Nov-2025 18:02:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:51 UTC]    Books columns count: 45
[26-Nov-2025 18:02:51 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:51 UTC]    Language field in books: YES
[26-Nov-2025 18:02:51 UTC]    Format field in books: YES
[26-Nov-2025 18:02:51 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:51 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:02:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:02: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
[26-Nov-2025 18:02:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:55 UTC] 📊 Database Info:
[26-Nov-2025 18:02:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:55 UTC]    Books columns count: 45
[26-Nov-2025 18:02:55 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:55 UTC]    Language field in books: YES
[26-Nov-2025 18:02:55 UTC]    Format field in books: YES
[26-Nov-2025 18:02:55 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:55 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:55 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:55 UTC] 📊 Database Info:
[26-Nov-2025 18:02:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:55 UTC]    Books columns count: 45
[26-Nov-2025 18:02:55 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:55 UTC]    Language field in books: YES
[26-Nov-2025 18:02:55 UTC]    Format field in books: YES
[26-Nov-2025 18:02:55 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:55 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:58 UTC] 📊 Database Info:
[26-Nov-2025 18:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:58 UTC]    Books columns count: 45
[26-Nov-2025 18:02:58 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:58 UTC]    Language field in books: YES
[26-Nov-2025 18:02:58 UTC]    Format field in books: YES
[26-Nov-2025 18:02:58 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:02:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:02:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:02:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:02:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:02:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:02:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:02:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:02:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:02:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:02:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:02:58 UTC] 📊 Database Info:
[26-Nov-2025 18:02:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:02:58 UTC]    Books columns count: 45
[26-Nov-2025 18:02:58 UTC]    Categories columns count: 7
[26-Nov-2025 18:02:58 UTC]    Language field in books: YES
[26-Nov-2025 18:02:58 UTC]    Format field in books: YES
[26-Nov-2025 18:02:58 UTC]    Description field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:02:58 UTC]    Is_active field in books: YES
[26-Nov-2025 18:02:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:02:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:02:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:02:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:02:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:02:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:02:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:54 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 18:56:54 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 18:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:54 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 18:56:54 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 18:56:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:54 UTC] 📊 Database Info:
[26-Nov-2025 18:56:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:54 UTC]    Books columns count: 45
[26-Nov-2025 18:56:54 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:54 UTC]    Language field in books: YES
[26-Nov-2025 18:56:54 UTC]    Format field in books: YES
[26-Nov-2025 18:56:54 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:54 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:55 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:55 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:55 UTC] 📊 Database Info:
[26-Nov-2025 18:56:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:55 UTC]    Books columns count: 45
[26-Nov-2025 18:56:55 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:55 UTC]    Language field in books: YES
[26-Nov-2025 18:56:55 UTC]    Format field in books: YES
[26-Nov-2025 18:56:55 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:55 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18: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
[26-Nov-2025 18:56:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 18:56:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 18:56:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56: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
[26-Nov-2025 18:56:58 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 18:56: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
[26-Nov-2025 18:56:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 18:56:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 18:56:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 18:56:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 18:56:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 18:56:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 18:56:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 18:56:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 18:56:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 18:56:58 UTC] 📊 Database Info:
[26-Nov-2025 18:56:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 18:56:58 UTC]    Books columns count: 45
[26-Nov-2025 18:56:58 UTC]    Categories columns count: 7
[26-Nov-2025 18:56:58 UTC]    Language field in books: YES
[26-Nov-2025 18:56:58 UTC]    Format field in books: YES
[26-Nov-2025 18:56:58 UTC]    Description field in categories: YES
[26-Nov-2025 18:56:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 18:56:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 18:56:58 UTC]    Is_active field in books: YES
[26-Nov-2025 18:56:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 18:56:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 18:56:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 18:56:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 18:56:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 18:56:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 18:56:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:16:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:16:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:16:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:16:19 UTC] 📊 Database Info:
[26-Nov-2025 19:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:16:19 UTC]    Books columns count: 45
[26-Nov-2025 19:16:19 UTC]    Categories columns count: 7
[26-Nov-2025 19:16:19 UTC]    Language field in books: YES
[26-Nov-2025 19:16:19 UTC]    Format field in books: YES
[26-Nov-2025 19:16:19 UTC]    Description field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:16:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:16:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:16:19 UTC] 📊 Database Info:
[26-Nov-2025 19:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:16:19 UTC]    Books columns count: 45
[26-Nov-2025 19:16:19 UTC]    Categories columns count: 7
[26-Nov-2025 19:16:19 UTC]    Language field in books: YES
[26-Nov-2025 19:16:19 UTC]    Format field in books: YES
[26-Nov-2025 19:16:19 UTC]    Description field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:16:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:16:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:16:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 19:16:19 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 19:16:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:16:19 UTC] 📊 Database Info:
[26-Nov-2025 19:16:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:16:19 UTC]    Books columns count: 45
[26-Nov-2025 19:16:19 UTC]    Categories columns count: 7
[26-Nov-2025 19:16:19 UTC]    Language field in books: YES
[26-Nov-2025 19:16:19 UTC]    Format field in books: YES
[26-Nov-2025 19:16:19 UTC]    Description field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:16:19 UTC]    Is_active field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:16:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:16:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:16:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:16:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:16:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 19:16:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 19:16:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 19:16:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:16:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:16:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:16:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:16:47 UTC] 📊 Database Info:
[26-Nov-2025 19:16:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:16:47 UTC]    Books columns count: 45
[26-Nov-2025 19:16:47 UTC]    Categories columns count: 7
[26-Nov-2025 19:16:47 UTC]    Language field in books: YES
[26-Nov-2025 19:16:47 UTC]    Format field in books: YES
[26-Nov-2025 19:16:47 UTC]    Description field in categories: YES
[26-Nov-2025 19:16:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:16:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:16:47 UTC]    Is_active field in books: YES
[26-Nov-2025 19:16:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:16:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:16:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:16:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:16:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:16:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:16:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:16:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16: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
[26-Nov-2025 19:16:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 19:16: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
[26-Nov-2025 19:16:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:16:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:16:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:16:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:16:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:16:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:16:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:16:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:16:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:16:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:16:48 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:16:48 UTC] 📊 Database Info:
[26-Nov-2025 19:16:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:16:48 UTC]    Books columns count: 45
[26-Nov-2025 19:16:48 UTC]    Categories columns count: 7
[26-Nov-2025 19:16:48 UTC]    Language field in books: YES
[26-Nov-2025 19:16:48 UTC]    Format field in books: YES
[26-Nov-2025 19:16:48 UTC]    Description field in categories: YES
[26-Nov-2025 19:16:48 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:16:48 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:16:48 UTC]    Is_active field in books: YES
[26-Nov-2025 19:16:48 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:16:48 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:16:48 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:16:48 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:16:48 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:16:48 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:16:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:17:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:17:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:17:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:17:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:17:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:17:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:17:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:17:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:17:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:17:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:17:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:17:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:17:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:17:32 UTC] 📊 Database Info:
[26-Nov-2025 19:17:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:17:32 UTC]    Books columns count: 45
[26-Nov-2025 19:17:32 UTC]    Categories columns count: 7
[26-Nov-2025 19:17:32 UTC]    Language field in books: YES
[26-Nov-2025 19:17:32 UTC]    Format field in books: YES
[26-Nov-2025 19:17:32 UTC]    Description field in categories: YES
[26-Nov-2025 19:17:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:17:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:17:32 UTC]    Is_active field in books: YES
[26-Nov-2025 19:17:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:17:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:17:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:17:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:17:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:17:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:17:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 19:17:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 19:17:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:17:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 19:17:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 19:17:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 19:17:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 19:17:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 19:17:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 19:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 19:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 19:17:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 19:17:33 UTC] 📊 Database Info:
[26-Nov-2025 19:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 19:17:33 UTC]    Books columns count: 45
[26-Nov-2025 19:17:33 UTC]    Categories columns count: 7
[26-Nov-2025 19:17:33 UTC]    Language field in books: YES
[26-Nov-2025 19:17:33 UTC]    Format field in books: YES
[26-Nov-2025 19:17:33 UTC]    Description field in categories: YES
[26-Nov-2025 19:17:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 19:17:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 19:17:33 UTC]    Is_active field in books: YES
[26-Nov-2025 19:17:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 19:17:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 19:17:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 19:17:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 19:17:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19: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
[26-Nov-2025 19:17:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 19:17:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:48 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:48 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:02:48 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:48 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:48 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:48 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:49 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:02:49 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:49 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:02:49 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:49 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:49 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:02:49 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:02:49 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:02:49 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:02:49 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:02:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:02:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:02:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:02:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:02:49 UTC] 📊 Database Info:
[26-Nov-2025 20:02:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:02:49 UTC]    Books columns count: 45
[26-Nov-2025 20:02:49 UTC]    Categories columns count: 7
[26-Nov-2025 20:02:49 UTC]    Language field in books: YES
[26-Nov-2025 20:02:49 UTC]    Format field in books: YES
[26-Nov-2025 20:02:49 UTC]    Description field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:02:49 UTC]    Is_active field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:02:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:02:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:02:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:02:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:02:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:10 UTC] 📊 Database Info:
[26-Nov-2025 20:03:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:10 UTC]    Books columns count: 45
[26-Nov-2025 20:03:10 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:10 UTC]    Language field in books: YES
[26-Nov-2025 20:03:10 UTC]    Format field in books: YES
[26-Nov-2025 20:03:10 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:10 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03: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
[26-Nov-2025 20:03:34 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03: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
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:35 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:35 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:03:35 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:03:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:35 UTC] 📊 Database Info:
[26-Nov-2025 20:03:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:35 UTC]    Books columns count: 45
[26-Nov-2025 20:03:35 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:35 UTC]    Language field in books: YES
[26-Nov-2025 20:03:35 UTC]    Format field in books: YES
[26-Nov-2025 20:03:35 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:35 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:03:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:03:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:03:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:03:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:03:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:03:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:03:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:03:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:03:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:03:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:03:36 UTC] 📊 Database Info:
[26-Nov-2025 20:03:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:03:36 UTC]    Books columns count: 45
[26-Nov-2025 20:03:36 UTC]    Categories columns count: 7
[26-Nov-2025 20:03:36 UTC]    Language field in books: YES
[26-Nov-2025 20:03:36 UTC]    Format field in books: YES
[26-Nov-2025 20:03:36 UTC]    Description field in categories: YES
[26-Nov-2025 20:03:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:03:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:03:36 UTC]    Is_active field in books: YES
[26-Nov-2025 20:03:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:03:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:03:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:03:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:03:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20: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
[26-Nov-2025 20:03:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:03:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:04:16 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:04:16 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-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
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:16 UTC] 📊 Database Info:
[26-Nov-2025 20:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:16 UTC]    Books columns count: 45
[26-Nov-2025 20:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:16 UTC]    Language field in books: YES
[26-Nov-2025 20:04:16 UTC]    Format field in books: YES
[26-Nov-2025 20:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:16 UTC]    Is_external_download_protected field in books: YES
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-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
[26-Nov-2025 20:04:16 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:04:16 UTC] ✅ إرجاع 2 تصنيف نشط
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:04:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:04:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:04:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:04:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:04:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:04:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:04:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:04:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:04:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:04:19 UTC] 📊 Database Info:
[26-Nov-2025 20:04:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:04:19 UTC]    Books columns count: 45
[26-Nov-2025 20:04:19 UTC]    Categories columns count: 7
[26-Nov-2025 20:04:19 UTC]    Language field in books: YES
[26-Nov-2025 20:04:19 UTC]    Format field in books: YES
[26-Nov-2025 20:04:19 UTC]    Description field in categories: YES
[26-Nov-2025 20:04:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:04:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:04:19 UTC]    Is_active field in books: YES
[26-Nov-2025 20:04:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:04:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:04:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:04:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 20:04:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:04:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:14 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:14 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:14 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:14 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:14 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:06:14 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:14 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:14 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:14 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:14 UTC] 📊 Database Info:
[26-Nov-2025 20:06:14 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:14 UTC]    Books columns count: 45
[26-Nov-2025 20:06:14 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:14 UTC]    Language field in books: YES
[26-Nov-2025 20:06:14 UTC]    Format field in books: YES
[26-Nov-2025 20:06:14 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:14 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:14 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:14 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:14 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:14 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:14 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 20:06:14 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 20:06:14 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 20:06:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 20:06:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 20:06: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
[26-Nov-2025 20:06:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 20:06:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 20:06:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 20:06:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 20:06:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 20:06:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 20:06:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 20:06:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 20:06:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 20:06:16 UTC] 📊 Database Info:
[26-Nov-2025 20:06:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 20:06:16 UTC]    Books columns count: 45
[26-Nov-2025 20:06:16 UTC]    Categories columns count: 7
[26-Nov-2025 20:06:16 UTC]    Language field in books: YES
[26-Nov-2025 20:06:16 UTC]    Format field in books: YES
[26-Nov-2025 20:06:16 UTC]    Description field in categories: YES
[26-Nov-2025 20:06:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 20:06:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 20:06:16 UTC]    Is_active field in books: YES
[26-Nov-2025 20:06:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 20:06:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 20:06:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 20:06:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 20:06:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 20:06:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 20:06:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:07:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:07:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07: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
[26-Nov-2025 21:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:07:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:07:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:07:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:07:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:07:45 UTC] 📊 Database Info:
[26-Nov-2025 21:07:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:07:45 UTC]    Books columns count: 45
[26-Nov-2025 21:07:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:07:45 UTC]    Language field in books: YES
[26-Nov-2025 21:07:45 UTC]    Format field in books: YES
[26-Nov-2025 21:07:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:07:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:07:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:07:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:07:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:07:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:07:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:07:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:07:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:07:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:07:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:07:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:07:45 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:07:46 UTC] 📊 Database Info:
[26-Nov-2025 21:07:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:07:46 UTC]    Books columns count: 45
[26-Nov-2025 21:07:46 UTC]    Categories columns count: 7
[26-Nov-2025 21:07:46 UTC]    Language field in books: YES
[26-Nov-2025 21:07:46 UTC]    Format field in books: YES
[26-Nov-2025 21:07:46 UTC]    Description field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Is_active field in books: YES
[26-Nov-2025 21:07:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:07:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:07:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:07:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:07:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:07:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:07:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:07:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:07:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:07:46 UTC] 📊 Database Info:
[26-Nov-2025 21:07:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:07:46 UTC]    Books columns count: 45
[26-Nov-2025 21:07:46 UTC]    Categories columns count: 7
[26-Nov-2025 21:07:46 UTC]    Language field in books: YES
[26-Nov-2025 21:07:46 UTC]    Format field in books: YES
[26-Nov-2025 21:07:46 UTC]    Description field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:07:46 UTC]    Is_active field in books: YES
[26-Nov-2025 21:07:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:07:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:07:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:07:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:07:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:07:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:07:46 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:07:46 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:07:46 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:10:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:10:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:10:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:10:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10: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
[26-Nov-2025 21:10:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:10:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:10:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:10:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:10:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:10:41 UTC] 📊 Database Info:
[26-Nov-2025 21:10:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:10:41 UTC]    Books columns count: 45
[26-Nov-2025 21:10:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:10:41 UTC]    Language field in books: YES
[26-Nov-2025 21:10:41 UTC]    Format field in books: YES
[26-Nov-2025 21:10:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:10:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:10:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:10:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:10:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:10:41 UTC] 📊 Database Info:
[26-Nov-2025 21:10:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:10:41 UTC]    Books columns count: 45
[26-Nov-2025 21:10:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:10:41 UTC]    Language field in books: YES
[26-Nov-2025 21:10:41 UTC]    Format field in books: YES
[26-Nov-2025 21:10:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:10:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:10:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:10:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:10:41 UTC] 📊 Database Info:
[26-Nov-2025 21:10:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:10:41 UTC]    Books columns count: 45
[26-Nov-2025 21:10:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:10:41 UTC]    Language field in books: YES
[26-Nov-2025 21:10:41 UTC]    Format field in books: YES
[26-Nov-2025 21:10:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:10:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:10:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:10:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:10:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:10:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:10:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:10:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:10:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:10:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:10:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:10:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:10:41 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:15:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:15:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:15:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:15:59 UTC] 📊 Database Info:
[26-Nov-2025 21:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:15:59 UTC]    Books columns count: 45
[26-Nov-2025 21:15:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:15:59 UTC]    Language field in books: YES
[26-Nov-2025 21:15:59 UTC]    Format field in books: YES
[26-Nov-2025 21:15:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:15:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:15:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:15:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:15:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:15:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:15:59 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:15:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:15:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:15:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:15:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:15:59 UTC] 📊 Database Info:
[26-Nov-2025 21:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:15:59 UTC]    Books columns count: 45
[26-Nov-2025 21:15:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:15:59 UTC]    Language field in books: YES
[26-Nov-2025 21:15:59 UTC]    Format field in books: YES
[26-Nov-2025 21:15:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:15:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:15:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:15:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:15:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:15:59 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:15:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:15:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:15:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:15:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:15:59 UTC] 📊 Database Info:
[26-Nov-2025 21:15:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:15:59 UTC]    Books columns count: 45
[26-Nov-2025 21:15:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:15:59 UTC]    Language field in books: YES
[26-Nov-2025 21:15:59 UTC]    Format field in books: YES
[26-Nov-2025 21:15:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:15:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:15:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:15:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:15:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:15:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:15:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:16:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:16:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:16:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:16:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:16:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:16:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:16:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:16:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:16:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:16:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:16:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:16:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:16:54 UTC] 📊 Database Info:
[26-Nov-2025 21:16:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:16:54 UTC]    Books columns count: 45
[26-Nov-2025 21:16:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:16:54 UTC]    Language field in books: YES
[26-Nov-2025 21:16:54 UTC]    Format field in books: YES
[26-Nov-2025 21:16:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:16:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:16:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:16:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:16:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:16:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:16:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:16:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:16:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:16:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:16:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:16:56 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:16:56 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:16:56 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:16:56 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:16:56 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:16:56 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:16:56 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:16:56 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:16:56 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:16:56 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:16:56 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:16:56 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:16:56 UTC] 📊 Database Info:
[26-Nov-2025 21:16:56 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:16:56 UTC]    Books columns count: 45
[26-Nov-2025 21:16:56 UTC]    Categories columns count: 7
[26-Nov-2025 21:16:56 UTC]    Language field in books: YES
[26-Nov-2025 21:16:56 UTC]    Format field in books: YES
[26-Nov-2025 21:16:56 UTC]    Description field in categories: YES
[26-Nov-2025 21:16:56 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:16:56 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:16:56 UTC]    Is_active field in books: YES
[26-Nov-2025 21:16:56 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:16:56 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:16:56 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:16:56 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:16:56 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:16:56 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:16:56 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:17:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:17:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:17: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
[26-Nov-2025 21:17:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:17: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
[26-Nov-2025 21:17:26 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:17:26 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:17:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:17:26 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:17:26 UTC] 📊 Database Info:
[26-Nov-2025 21:17:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:17:26 UTC]    Books columns count: 45
[26-Nov-2025 21:17:26 UTC]    Categories columns count: 7
[26-Nov-2025 21:17:26 UTC]    Language field in books: YES
[26-Nov-2025 21:17:26 UTC]    Format field in books: YES
[26-Nov-2025 21:17:26 UTC]    Description field in categories: YES
[26-Nov-2025 21:17:26 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:17:26 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:17:26 UTC]    Is_active field in books: YES
[26-Nov-2025 21:17:26 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:17:26 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:17:26 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:17:26 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:17:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:17:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:17:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:17:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:17:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:17:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:17:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:17:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:17:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:17:33 UTC] 📊 Database Info:
[26-Nov-2025 21:17:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:17:33 UTC]    Books columns count: 45
[26-Nov-2025 21:17:33 UTC]    Categories columns count: 7
[26-Nov-2025 21:17:33 UTC]    Language field in books: YES
[26-Nov-2025 21:17:33 UTC]    Format field in books: YES
[26-Nov-2025 21:17:33 UTC]    Description field in categories: YES
[26-Nov-2025 21:17:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:17:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:17:33 UTC]    Is_active field in books: YES
[26-Nov-2025 21:17:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:17:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:17:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:17:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:17:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:17:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:17:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:17:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:17:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:17:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:17:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:17:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:17:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:17:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:17:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:17:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:17:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:17:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:17:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:17:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:17:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:17:35 UTC] 📊 Database Info:
[26-Nov-2025 21:17:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:17:35 UTC]    Books columns count: 45
[26-Nov-2025 21:17:35 UTC]    Categories columns count: 7
[26-Nov-2025 21:17:35 UTC]    Language field in books: YES
[26-Nov-2025 21:17:35 UTC]    Format field in books: YES
[26-Nov-2025 21:17:35 UTC]    Description field in categories: YES
[26-Nov-2025 21:17:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:17:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:17:35 UTC]    Is_active field in books: YES
[26-Nov-2025 21:17:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:17:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:17:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:17:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:17:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:17:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:17:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:13 UTC] 📊 Database Info:
[26-Nov-2025 21:22:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:13 UTC]    Books columns count: 45
[26-Nov-2025 21:22:13 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:13 UTC]    Language field in books: YES
[26-Nov-2025 21:22:13 UTC]    Format field in books: YES
[26-Nov-2025 21:22:13 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:13 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:22:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:13 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:13 UTC] 📊 Database Info:
[26-Nov-2025 21:22:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:13 UTC]    Books columns count: 45
[26-Nov-2025 21:22:13 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:13 UTC]    Language field in books: YES
[26-Nov-2025 21:22:13 UTC]    Format field in books: YES
[26-Nov-2025 21:22:13 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:13 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:22:13 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:22:13 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:22:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:13 UTC] 📊 Database Info:
[26-Nov-2025 21:22:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:13 UTC]    Books columns count: 45
[26-Nov-2025 21:22:13 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:13 UTC]    Language field in books: YES
[26-Nov-2025 21:22:13 UTC]    Format field in books: YES
[26-Nov-2025 21:22:13 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:13 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:31 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:31 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:31 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:31 UTC] 📊 Database Info:
[26-Nov-2025 21:22:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:31 UTC]    Books columns count: 45
[26-Nov-2025 21:22:31 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:31 UTC]    Language field in books: YES
[26-Nov-2025 21:22:31 UTC]    Format field in books: YES
[26-Nov-2025 21:22:31 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:31 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:31 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:31 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:22:31 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:31 UTC] 📊 Database Info:
[26-Nov-2025 21:22:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:31 UTC]    Books columns count: 45
[26-Nov-2025 21:22:31 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:31 UTC]    Language field in books: YES
[26-Nov-2025 21:22:31 UTC]    Format field in books: YES
[26-Nov-2025 21:22:31 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:31 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:31 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:31 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:22:31 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:22:31 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:22:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:31 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:31 UTC] 📊 Database Info:
[26-Nov-2025 21:22:31 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:31 UTC]    Books columns count: 45
[26-Nov-2025 21:22:31 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:31 UTC]    Language field in books: YES
[26-Nov-2025 21:22:31 UTC]    Format field in books: YES
[26-Nov-2025 21:22:31 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:31 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:31 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:31 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:31 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:31 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:31 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:44 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:44 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:44 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:22:44 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:44 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:44 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:44 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:44 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:44 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:44 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:44 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:44 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:44 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:44 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:44 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:44 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:44 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:44 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:44 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:44 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:44 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:44 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:44 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:44 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:44 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:22: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
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:22:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:22:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:22:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:22:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:22:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:22:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:22:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:45 UTC] 📊 Database Info:
[26-Nov-2025 21:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:45 UTC]    Books columns count: 45
[26-Nov-2025 21:22:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:45 UTC]    Language field in books: YES
[26-Nov-2025 21:22:45 UTC]    Format field in books: YES
[26-Nov-2025 21:22:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:22:45 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:22:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:45 UTC] 📊 Database Info:
[26-Nov-2025 21:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:45 UTC]    Books columns count: 45
[26-Nov-2025 21:22:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:45 UTC]    Language field in books: YES
[26-Nov-2025 21:22:45 UTC]    Format field in books: YES
[26-Nov-2025 21:22:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:22:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:22:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:22:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:22:45 UTC] 📊 Database Info:
[26-Nov-2025 21:22:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:22:45 UTC]    Books columns count: 45
[26-Nov-2025 21:22:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:22:45 UTC]    Language field in books: YES
[26-Nov-2025 21:22:45 UTC]    Format field in books: YES
[26-Nov-2025 21:22:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:22:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:22:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:22:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:22:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:22:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:22:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:22:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:22:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:22:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:23:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:23:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:23:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23: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
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:41 UTC] 📊 Database Info:
[26-Nov-2025 21:23:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:41 UTC]    Books columns count: 45
[26-Nov-2025 21:23:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:41 UTC]    Language field in books: YES
[26-Nov-2025 21:23:41 UTC]    Format field in books: YES
[26-Nov-2025 21:23:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:41 UTC] 📊 Database Info:
[26-Nov-2025 21:23:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:41 UTC]    Books columns count: 45
[26-Nov-2025 21:23:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:41 UTC]    Language field in books: YES
[26-Nov-2025 21:23:41 UTC]    Format field in books: YES
[26-Nov-2025 21:23:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:23:41 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:23:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:41 UTC] 📊 Database Info:
[26-Nov-2025 21:23:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:41 UTC]    Books columns count: 45
[26-Nov-2025 21:23:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:41 UTC]    Language field in books: YES
[26-Nov-2025 21:23:41 UTC]    Format field in books: YES
[26-Nov-2025 21:23:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:23:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:23:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:23:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:23:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:59 UTC] 📊 Database Info:
[26-Nov-2025 21:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:59 UTC]    Books columns count: 45
[26-Nov-2025 21:23:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:59 UTC]    Language field in books: YES
[26-Nov-2025 21:23:59 UTC]    Format field in books: YES
[26-Nov-2025 21:23:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:59 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:23:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:59 UTC] 📊 Database Info:
[26-Nov-2025 21:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:59 UTC]    Books columns count: 45
[26-Nov-2025 21:23:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:59 UTC]    Language field in books: YES
[26-Nov-2025 21:23:59 UTC]    Format field in books: YES
[26-Nov-2025 21:23:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:23:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:23:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:23:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:23:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:23:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:23:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:23:59 UTC] 📊 Database Info:
[26-Nov-2025 21:23:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:23:59 UTC]    Books columns count: 45
[26-Nov-2025 21:23:59 UTC]    Categories columns count: 7
[26-Nov-2025 21:23:59 UTC]    Language field in books: YES
[26-Nov-2025 21:23:59 UTC]    Format field in books: YES
[26-Nov-2025 21:23:59 UTC]    Description field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:23:59 UTC]    Is_active field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:23:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:23:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:23:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:23:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:23:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:23:59 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:23:59 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:23:59 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:24:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:24:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:24: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
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:21 UTC] 📊 Database Info:
[26-Nov-2025 21:24:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:21 UTC]    Books columns count: 45
[26-Nov-2025 21:24:21 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:21 UTC]    Language field in books: YES
[26-Nov-2025 21:24:21 UTC]    Format field in books: YES
[26-Nov-2025 21:24:21 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:24:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:21 UTC] 📊 Database Info:
[26-Nov-2025 21:24:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:21 UTC]    Books columns count: 45
[26-Nov-2025 21:24:21 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:21 UTC]    Language field in books: YES
[26-Nov-2025 21:24:21 UTC]    Format field in books: YES
[26-Nov-2025 21:24:21 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:21 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:21 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:24:22 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC] 📊 Database Info:
[26-Nov-2025 21:24:22 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:22 UTC]    Books columns count: 45
[26-Nov-2025 21:24:22 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:22 UTC]    Language field in books: YES
[26-Nov-2025 21:24:22 UTC]    Format field in books: YES
[26-Nov-2025 21:24:22 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:22 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:22 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:22 UTC]    Is_active field in books: YES
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:22 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:22 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:22 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:24:22 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:22 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:22 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:22 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:24:22 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:24:22 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:24:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:24 UTC] 📊 Database Info:
[26-Nov-2025 21:24:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:24 UTC]    Books columns count: 45
[26-Nov-2025 21:24:24 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:24 UTC]    Language field in books: YES
[26-Nov-2025 21:24:24 UTC]    Format field in books: YES
[26-Nov-2025 21:24:24 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:24:24 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:24 UTC] 📊 Database Info:
[26-Nov-2025 21:24:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:24 UTC]    Books columns count: 45
[26-Nov-2025 21:24:24 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:24 UTC]    Language field in books: YES
[26-Nov-2025 21:24:24 UTC]    Format field in books: YES
[26-Nov-2025 21:24:24 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:24:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:24:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:24:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:24 UTC] 📊 Database Info:
[26-Nov-2025 21:24:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:24 UTC]    Books columns count: 45
[26-Nov-2025 21:24:24 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:24 UTC]    Language field in books: YES
[26-Nov-2025 21:24:24 UTC]    Format field in books: YES
[26-Nov-2025 21:24:24 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:24 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:35 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:35 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:35 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:35 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:35 UTC] 📊 Database Info:
[26-Nov-2025 21:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:35 UTC]    Books columns count: 45
[26-Nov-2025 21:24:35 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:35 UTC]    Language field in books: YES
[26-Nov-2025 21:24:35 UTC]    Format field in books: YES
[26-Nov-2025 21:24:35 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:35 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:24:35 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:35 UTC] 📊 Database Info:
[26-Nov-2025 21:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:35 UTC]    Books columns count: 45
[26-Nov-2025 21:24:35 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:35 UTC]    Language field in books: YES
[26-Nov-2025 21:24:35 UTC]    Format field in books: YES
[26-Nov-2025 21:24:35 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:35 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:35 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:35 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:35 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:35 UTC] 📊 Database Info:
[26-Nov-2025 21:24:35 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:35 UTC]    Books columns count: 45
[26-Nov-2025 21:24:35 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:35 UTC]    Language field in books: YES
[26-Nov-2025 21:24:35 UTC]    Format field in books: YES
[26-Nov-2025 21:24:35 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:35 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:35 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:35 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:35 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:35 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:35 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:35 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:24:35 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:24:35 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:24:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:40 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:40 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:24:40 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:24:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:24:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:24:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:40 UTC] 📊 Database Info:
[26-Nov-2025 21:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:40 UTC]    Books columns count: 45
[26-Nov-2025 21:24:40 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:40 UTC]    Language field in books: YES
[26-Nov-2025 21:24:40 UTC]    Format field in books: YES
[26-Nov-2025 21:24:40 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:40 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:40 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:40 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:24:40 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:40 UTC] 📊 Database Info:
[26-Nov-2025 21:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:40 UTC]    Books columns count: 45
[26-Nov-2025 21:24:40 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:40 UTC]    Language field in books: YES
[26-Nov-2025 21:24:40 UTC]    Format field in books: YES
[26-Nov-2025 21:24:40 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:40 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:40 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:24:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:24:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:24:40 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:24:40 UTC] 📊 Database Info:
[26-Nov-2025 21:24:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:24:40 UTC]    Books columns count: 45
[26-Nov-2025 21:24:40 UTC]    Categories columns count: 7
[26-Nov-2025 21:24:40 UTC]    Language field in books: YES
[26-Nov-2025 21:24:40 UTC]    Format field in books: YES
[26-Nov-2025 21:24:40 UTC]    Description field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:24:40 UTC]    Is_active field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:24:40 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:24:40 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:24:40 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:24:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:24:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:24:40 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:24:40 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:24:40 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:27:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:27:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:27:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:27:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:27:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:27:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:27:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:27:54 UTC] 📊 Database Info:
[26-Nov-2025 21:27:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:27:54 UTC]    Books columns count: 45
[26-Nov-2025 21:27:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:27:54 UTC]    Language field in books: YES
[26-Nov-2025 21:27:54 UTC]    Format field in books: YES
[26-Nov-2025 21:27:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:27:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:27:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:27:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:27:54 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:27:54 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:27:54 UTC] 📊 Database Info:
[26-Nov-2025 21:27:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:27:54 UTC]    Books columns count: 45
[26-Nov-2025 21:27:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:27:54 UTC]    Language field in books: YES
[26-Nov-2025 21:27:54 UTC]    Format field in books: YES
[26-Nov-2025 21:27:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:27:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:27:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:27:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:27:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:27:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:27:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:27:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:27:54 UTC] 📊 Database Info:
[26-Nov-2025 21:27:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:27:54 UTC]    Books columns count: 45
[26-Nov-2025 21:27:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:27:54 UTC]    Language field in books: YES
[26-Nov-2025 21:27:54 UTC]    Format field in books: YES
[26-Nov-2025 21:27:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:27:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:27:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:27:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:27:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:27:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:27:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:27:54 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:27:54 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:27:54 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:30:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30:02 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:30: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
[26-Nov-2025 21:30:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:02 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:02 UTC] 📊 Database Info:
[26-Nov-2025 21:30:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:02 UTC]    Books columns count: 45
[26-Nov-2025 21:30:02 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:02 UTC]    Language field in books: YES
[26-Nov-2025 21:30:02 UTC]    Format field in books: YES
[26-Nov-2025 21:30:02 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:02 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:02 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:30:02 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:02 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:30:02 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:02 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:02 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:02 UTC] 📊 Database Info:
[26-Nov-2025 21:30:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:02 UTC]    Books columns count: 45
[26-Nov-2025 21:30:02 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:02 UTC]    Language field in books: YES
[26-Nov-2025 21:30:02 UTC]    Format field in books: YES
[26-Nov-2025 21:30:02 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:02 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:02 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:02 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:02 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:02 UTC] 📊 Database Info:
[26-Nov-2025 21:30:02 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:02 UTC]    Books columns count: 45
[26-Nov-2025 21:30:02 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:02 UTC]    Language field in books: YES
[26-Nov-2025 21:30:02 UTC]    Format field in books: YES
[26-Nov-2025 21:30:02 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:02 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:02 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:02 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:02 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:02 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:30:02 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:02 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:02 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:30:02 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:30:02 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:43 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:43 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:43 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:43 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:43 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:43 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:43 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:43 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:43 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:43 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:43 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:43 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:43 UTC] 📊 Database Info:
[26-Nov-2025 21:30:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:43 UTC]    Books columns count: 45
[26-Nov-2025 21:30:43 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:43 UTC]    Language field in books: YES
[26-Nov-2025 21:30:43 UTC]    Format field in books: YES
[26-Nov-2025 21:30:43 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:43 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:43 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:43 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:30:43 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:43 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:43 UTC] 📊 Database Info:
[26-Nov-2025 21:30:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:43 UTC]    Books columns count: 45
[26-Nov-2025 21:30:43 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:43 UTC]    Language field in books: YES
[26-Nov-2025 21:30:43 UTC]    Format field in books: YES
[26-Nov-2025 21:30:43 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:43 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:43 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:43 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:43 UTC] 📊 Database Info:
[26-Nov-2025 21:30:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:43 UTC]    Books columns count: 45
[26-Nov-2025 21:30:43 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:43 UTC]    Language field in books: YES
[26-Nov-2025 21:30:43 UTC]    Format field in books: YES
[26-Nov-2025 21:30:43 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:43 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:43 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:43 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:43 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:43 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:30:43 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:30:43 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:30:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:57 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:57 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:30:57 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:57 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:57 UTC] 📊 Database Info:
[26-Nov-2025 21:30:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:57 UTC]    Books columns count: 45
[26-Nov-2025 21:30:57 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:57 UTC]    Language field in books: YES
[26-Nov-2025 21:30:57 UTC]    Format field in books: YES
[26-Nov-2025 21:30:57 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:57 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:57 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:57 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:30:57 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:30:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:30:57 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:57 UTC] 📊 Database Info:
[26-Nov-2025 21:30:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:57 UTC]    Books columns count: 45
[26-Nov-2025 21:30:57 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:57 UTC]    Language field in books: YES
[26-Nov-2025 21:30:57 UTC]    Format field in books: YES
[26-Nov-2025 21:30:57 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:57 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:57 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:30:57 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:30:57 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:30:57 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:30:57 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:30:57 UTC] 📊 Database Info:
[26-Nov-2025 21:30:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:30:57 UTC]    Books columns count: 45
[26-Nov-2025 21:30:57 UTC]    Categories columns count: 7
[26-Nov-2025 21:30:57 UTC]    Language field in books: YES
[26-Nov-2025 21:30:57 UTC]    Format field in books: YES
[26-Nov-2025 21:30:57 UTC]    Description field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:30:57 UTC]    Is_active field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:30:57 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:30:57 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:30:57 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:30:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:30:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35: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
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:11 UTC] 📊 Database Info:
[26-Nov-2025 21:35:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:11 UTC]    Books columns count: 45
[26-Nov-2025 21:35:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:11 UTC]    Language field in books: YES
[26-Nov-2025 21:35:11 UTC]    Format field in books: YES
[26-Nov-2025 21:35:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:35:11 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:11 UTC] 📊 Database Info:
[26-Nov-2025 21:35:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:11 UTC]    Books columns count: 45
[26-Nov-2025 21:35:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:11 UTC]    Language field in books: YES
[26-Nov-2025 21:35:11 UTC]    Format field in books: YES
[26-Nov-2025 21:35:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:11 UTC] 📊 Database Info:
[26-Nov-2025 21:35:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:11 UTC]    Books columns count: 45
[26-Nov-2025 21:35:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:11 UTC]    Language field in books: YES
[26-Nov-2025 21:35:11 UTC]    Format field in books: YES
[26-Nov-2025 21:35:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:35:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:35:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:35:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:35:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:35:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:35:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:35:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:33 UTC] 📊 Database Info:
[26-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:33 UTC]    Books columns count: 45
[26-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:33 UTC]    Language field in books: YES
[26-Nov-2025 21:35:33 UTC]    Format field in books: YES
[26-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:35:33 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:33 UTC] 📊 Database Info:
[26-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:33 UTC]    Books columns count: 45
[26-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:33 UTC]    Language field in books: YES
[26-Nov-2025 21:35:33 UTC]    Format field in books: YES
[26-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:35:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:35:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:35:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:35:33 UTC] 📊 Database Info:
[26-Nov-2025 21:35:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:35:33 UTC]    Books columns count: 45
[26-Nov-2025 21:35:33 UTC]    Categories columns count: 7
[26-Nov-2025 21:35:33 UTC]    Language field in books: YES
[26-Nov-2025 21:35:33 UTC]    Format field in books: YES
[26-Nov-2025 21:35:33 UTC]    Description field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:35:33 UTC]    Is_active field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:35:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:35:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:35:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:35:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:35:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:35:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:35:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:35:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:38:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:38:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:38:37 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38:37 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:38: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
[26-Nov-2025 21:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:38:37 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:38:37 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:38:37 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38:37 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:38:37 UTC] 📊 Database Info:
[26-Nov-2025 21:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:38:37 UTC]    Books columns count: 45
[26-Nov-2025 21:38:37 UTC]    Categories columns count: 7
[26-Nov-2025 21:38:37 UTC]    Language field in books: YES
[26-Nov-2025 21:38:37 UTC]    Format field in books: YES
[26-Nov-2025 21:38:37 UTC]    Description field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:38:37 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:38:37 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:38:37 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:38:37 UTC] 📊 Database Info:
[26-Nov-2025 21:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:38:37 UTC]    Books columns count: 45
[26-Nov-2025 21:38:37 UTC]    Categories columns count: 7
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:38:37 UTC]    Language field in books: YES
[26-Nov-2025 21:38:37 UTC]    Format field in books: YES
[26-Nov-2025 21:38:37 UTC]    Description field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:38:37 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:38:37 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:38:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:38:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:38:37 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:38:37 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:38:37 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:38:37 UTC] 📊 Database Info:
[26-Nov-2025 21:38:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:38:37 UTC]    Books columns count: 45
[26-Nov-2025 21:38:37 UTC]    Categories columns count: 7
[26-Nov-2025 21:38:37 UTC]    Language field in books: YES
[26-Nov-2025 21:38:37 UTC]    Format field in books: YES
[26-Nov-2025 21:38:37 UTC]    Description field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:38:37 UTC]    Is_active field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:38:37 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:38:37 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:38:37 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:38:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:38:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:38:37 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:38:37 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:38:37 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:41 UTC] 📊 Database Info:
[26-Nov-2025 21:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:41 UTC]    Books columns count: 45
[26-Nov-2025 21:39:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:41 UTC]    Language field in books: YES
[26-Nov-2025 21:39:41 UTC]    Format field in books: YES
[26-Nov-2025 21:39:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:39:41 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:39:41 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:39:41 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:41 UTC] 📊 Database Info:
[26-Nov-2025 21:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:41 UTC]    Books columns count: 45
[26-Nov-2025 21:39:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:41 UTC]    Language field in books: YES
[26-Nov-2025 21:39:41 UTC]    Format field in books: YES
[26-Nov-2025 21:39:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:41 UTC] 📊 Database Info:
[26-Nov-2025 21:39:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:41 UTC]    Books columns count: 45
[26-Nov-2025 21:39:41 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:41 UTC]    Language field in books: YES
[26-Nov-2025 21:39:41 UTC]    Format field in books: YES
[26-Nov-2025 21:39:41 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:41 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:39:41 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:39:41 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:39:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:39:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:39:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:39:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:51 UTC] 📊 Database Info:
[26-Nov-2025 21:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:51 UTC]    Books columns count: 45
[26-Nov-2025 21:39:51 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:51 UTC]    Language field in books: YES
[26-Nov-2025 21:39:51 UTC]    Format field in books: YES
[26-Nov-2025 21:39:51 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:51 UTC] 📊 Database Info:
[26-Nov-2025 21:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:51 UTC]    Books columns count: 45
[26-Nov-2025 21:39:51 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:51 UTC]    Language field in books: YES
[26-Nov-2025 21:39:51 UTC]    Format field in books: YES
[26-Nov-2025 21:39:51 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:39:51 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:39:51 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:39:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:39:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:39:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:39:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:39:51 UTC] 📊 Database Info:
[26-Nov-2025 21:39:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:39:51 UTC]    Books columns count: 45
[26-Nov-2025 21:39:51 UTC]    Categories columns count: 7
[26-Nov-2025 21:39:51 UTC]    Language field in books: YES
[26-Nov-2025 21:39:51 UTC]    Format field in books: YES
[26-Nov-2025 21:39:51 UTC]    Description field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:39:51 UTC]    Is_active field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:39:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:39:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:39:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:39:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:39:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:39:51 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:39:51 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:39:51 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:27 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:27 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:27 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:27 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:27 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:27 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:27 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:27 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:28 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:28 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:28 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:28 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:28 UTC] 📊 Database Info:
[26-Nov-2025 21:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:28 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:28 UTC]    Books columns count: 45
[26-Nov-2025 21:40:28 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:28 UTC]    Language field in books: YES
[26-Nov-2025 21:40:28 UTC]    Format field in books: YES
[26-Nov-2025 21:40:28 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:28 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:28 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:28 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:40:28 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:28 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:40:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:28 UTC] 📊 Database Info:
[26-Nov-2025 21:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:28 UTC]    Books columns count: 45
[26-Nov-2025 21:40:28 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:28 UTC]    Language field in books: YES
[26-Nov-2025 21:40:28 UTC]    Format field in books: YES
[26-Nov-2025 21:40:28 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:28 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:28 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:28 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:28 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:28 UTC] 📊 Database Info:
[26-Nov-2025 21:40:28 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:28 UTC]    Books columns count: 45
[26-Nov-2025 21:40:28 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:28 UTC]    Language field in books: YES
[26-Nov-2025 21:40:28 UTC]    Format field in books: YES
[26-Nov-2025 21:40:28 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:28 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:28 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:28 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:28 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:40:28 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:28 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:28 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:40:28 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:40:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40: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
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:40:45 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:40:45 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:40:45 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:45 UTC] 📊 Database Info:
[26-Nov-2025 21:40:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:45 UTC]    Books columns count: 45
[26-Nov-2025 21:40:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:45 UTC]    Language field in books: YES
[26-Nov-2025 21:40:45 UTC]    Format field in books: YES
[26-Nov-2025 21:40:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:45 UTC] 📊 Database Info:
[26-Nov-2025 21:40:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:45 UTC]    Books columns count: 45
[26-Nov-2025 21:40:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:45 UTC]    Language field in books: YES
[26-Nov-2025 21:40:45 UTC]    Format field in books: YES
[26-Nov-2025 21:40:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:45 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:40:45 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:40:45 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:40:45 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:40:45 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:40:45 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:40:45 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:40:45 UTC] 📊 Database Info:
[26-Nov-2025 21:40:45 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:40:45 UTC]    Books columns count: 45
[26-Nov-2025 21:40:45 UTC]    Categories columns count: 7
[26-Nov-2025 21:40:45 UTC]    Language field in books: YES
[26-Nov-2025 21:40:45 UTC]    Format field in books: YES
[26-Nov-2025 21:40:45 UTC]    Description field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:40:45 UTC]    Is_active field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:40:45 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:40:45 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:40:45 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:40:45 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:40:45 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:40:45 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:40:45 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:41:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:41:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:41:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:41: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
[26-Nov-2025 21:41:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:41:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:41:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:41:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:41:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:41:47 UTC] 📊 Database Info:
[26-Nov-2025 21:41:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:41:47 UTC]    Books columns count: 45
[26-Nov-2025 21:41:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:41:47 UTC]    Language field in books: YES
[26-Nov-2025 21:41:47 UTC]    Format field in books: YES
[26-Nov-2025 21:41:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:41:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:41:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:41:47 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:41:47 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:41:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:41:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:41:47 UTC] 📊 Database Info:
[26-Nov-2025 21:41:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:41:47 UTC]    Books columns count: 45
[26-Nov-2025 21:41:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:41:47 UTC]    Language field in books: YES
[26-Nov-2025 21:41:47 UTC]    Format field in books: YES
[26-Nov-2025 21:41:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:41:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:41:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:41:47 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:41:47 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:41:47 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:41:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:41:47 UTC] 📊 Database Info:
[26-Nov-2025 21:41:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:41:47 UTC]    Books columns count: 45
[26-Nov-2025 21:41:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:41:47 UTC]    Language field in books: YES
[26-Nov-2025 21:41:47 UTC]    Format field in books: YES
[26-Nov-2025 21:41:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:41:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:41:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:41:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:41:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:41:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:41:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:23 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:23 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:44: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
[26-Nov-2025 21:44:23 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:23 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:23 UTC] 📊 Database Info:
[26-Nov-2025 21:44:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:23 UTC]    Books columns count: 45
[26-Nov-2025 21:44:23 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:23 UTC]    Language field in books: YES
[26-Nov-2025 21:44:23 UTC]    Format field in books: YES
[26-Nov-2025 21:44:23 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:44:23 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:23 UTC] 📊 Database Info:
[26-Nov-2025 21:44:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:23 UTC]    Books columns count: 45
[26-Nov-2025 21:44:23 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:23 UTC]    Language field in books: YES
[26-Nov-2025 21:44:23 UTC]    Format field in books: YES
[26-Nov-2025 21:44:23 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:23 UTC] 📊 Database Info:
[26-Nov-2025 21:44:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:23 UTC]    Books columns count: 45
[26-Nov-2025 21:44:23 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:23 UTC]    Language field in books: YES
[26-Nov-2025 21:44:23 UTC]    Format field in books: YES
[26-Nov-2025 21:44:23 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:23 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:44:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:44:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:44:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:26 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:26 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:26 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:44:26 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:44:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:26 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:26 UTC] 📊 Database Info:
[26-Nov-2025 21:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:26 UTC]    Books columns count: 45
[26-Nov-2025 21:44:26 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:26 UTC]    Language field in books: YES
[26-Nov-2025 21:44:26 UTC]    Format field in books: YES
[26-Nov-2025 21:44:26 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:26 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:26 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:26 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:44:26 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:44:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:44:26 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:26 UTC] 📊 Database Info:
[26-Nov-2025 21:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:26 UTC]    Books columns count: 45
[26-Nov-2025 21:44:26 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:26 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:44:26 UTC]    Language field in books: YES
[26-Nov-2025 21:44:26 UTC]    Format field in books: YES
[26-Nov-2025 21:44:26 UTC] 📊 Database Info:
[26-Nov-2025 21:44:26 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:44:26 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Books columns count: 45
[26-Nov-2025 21:44:26 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Categories columns count: 7
[26-Nov-2025 21:44:26 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:26 UTC]    Language field in books: YES
[26-Nov-2025 21:44:26 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:26 UTC]    Format field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:26 UTC]    Description field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:26 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:44:26 UTC]    Is_active field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:44:26 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:44:26 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:44:26 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:26 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:44:26 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:44:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:44:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:44:26 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:49:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:49:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:49:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:49:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:49:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:49:19 UTC] 📊 Database Info:
[26-Nov-2025 21:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:49:19 UTC]    Books columns count: 45
[26-Nov-2025 21:49:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:49:19 UTC]    Language field in books: YES
[26-Nov-2025 21:49:19 UTC]    Format field in books: YES
[26-Nov-2025 21:49:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:49:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:49:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:49:19 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:49:19 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:49:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:49:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:49:19 UTC] 📊 Database Info:
[26-Nov-2025 21:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:49:19 UTC]    Books columns count: 45
[26-Nov-2025 21:49:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:49:19 UTC]    Language field in books: YES
[26-Nov-2025 21:49:19 UTC]    Format field in books: YES
[26-Nov-2025 21:49:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:49:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:49:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:49:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:49:19 UTC] 📊 Database Info:
[26-Nov-2025 21:49:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:49:19 UTC]    Books columns count: 45
[26-Nov-2025 21:49:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:49:19 UTC]    Language field in books: YES
[26-Nov-2025 21:49:19 UTC]    Format field in books: YES
[26-Nov-2025 21:49:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:49:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:49:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:49:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:49:19 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:49:19 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:49:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:49:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:49:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:49:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:49:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:49:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:49:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:49:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:49:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:49:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:49:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:49:58 UTC] 📊 Database Info:
[26-Nov-2025 21:49:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:49:58 UTC]    Books columns count: 45
[26-Nov-2025 21:49:58 UTC]    Categories columns count: 7
[26-Nov-2025 21:49:58 UTC]    Language field in books: YES
[26-Nov-2025 21:49:58 UTC]    Format field in books: YES
[26-Nov-2025 21:49:58 UTC]    Description field in categories: YES
[26-Nov-2025 21:49:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:49:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:49:58 UTC]    Is_active field in books: YES
[26-Nov-2025 21:49:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:49:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:49:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:49:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:49:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:49:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:49:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:01 UTC] 📊 Database Info:
[26-Nov-2025 21:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:01 UTC]    Books columns count: 45
[26-Nov-2025 21:50:01 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:01 UTC]    Language field in books: YES
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC]    Format field in books: YES
[26-Nov-2025 21:50:01 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:01 UTC] 📊 Database Info:
[26-Nov-2025 21:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:01 UTC]    Books columns count: 45
[26-Nov-2025 21:50:01 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:01 UTC]    Language field in books: YES
[26-Nov-2025 21:50:01 UTC]    Format field in books: YES
[26-Nov-2025 21:50:01 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:01 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:01 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:01 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:01 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:01 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:01 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:01 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:01 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:01 UTC] 📊 Database Info:
[26-Nov-2025 21:50:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:01 UTC]    Books columns count: 45
[26-Nov-2025 21:50:01 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:01 UTC]    Language field in books: YES
[26-Nov-2025 21:50:01 UTC]    Format field in books: YES
[26-Nov-2025 21:50:01 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:01 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:01 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:01 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:01 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:01 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:03 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:03 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:03 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:03 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:03 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:03 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:03 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:03 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:03 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:03 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:03 UTC] 📊 Database Info:
[26-Nov-2025 21:50:03 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:03 UTC]    Books columns count: 45
[26-Nov-2025 21:50:03 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:03 UTC]    Language field in books: YES
[26-Nov-2025 21:50:03 UTC]    Format field in books: YES
[26-Nov-2025 21:50:03 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:03 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:03 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:03 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:03 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:03 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:03 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:03 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:03 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:03 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50: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
[26-Nov-2025 21:50:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:50: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
[26-Nov-2025 21:50:04 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:04 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:04 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:04 UTC] 📊 Database Info:
[26-Nov-2025 21:50:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:04 UTC]    Books columns count: 45
[26-Nov-2025 21:50:04 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:04 UTC]    Language field in books: YES
[26-Nov-2025 21:50:04 UTC]    Format field in books: YES
[26-Nov-2025 21:50:04 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:04 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:04 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:04 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:04 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:04 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:04 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:04 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:50:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:57 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:57 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:57 UTC] 📊 Database Info:
[26-Nov-2025 21:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:57 UTC]    Books columns count: 45
[26-Nov-2025 21:50:57 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:57 UTC]    Language field in books: YES
[26-Nov-2025 21:50:57 UTC]    Format field in books: YES
[26-Nov-2025 21:50:57 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:57 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:57 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:57 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:57 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:50:57 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:50:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:57 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:50:57 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:50:57 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:50:57 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:50:57 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:50:57 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:50:57 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:50:57 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:50:57 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:50:57 UTC] 📊 Database Info:
[26-Nov-2025 21:50:57 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:50:57 UTC]    Books columns count: 45
[26-Nov-2025 21:50:57 UTC]    Categories columns count: 7
[26-Nov-2025 21:50:57 UTC]    Language field in books: YES
[26-Nov-2025 21:50:57 UTC]    Format field in books: YES
[26-Nov-2025 21:50:57 UTC]    Description field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:50:57 UTC]    Is_active field in books: YES
[26-Nov-2025 21:50:57 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:50:57 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:50:57 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:50:57 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:50:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:50:57 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:50:57 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:51:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:51:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51: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
[26-Nov-2025 21:51:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:51: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
[26-Nov-2025 21:51:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:51:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:51:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:51:11 UTC] 📊 Database Info:
[26-Nov-2025 21:51:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:51:11 UTC]    Books columns count: 45
[26-Nov-2025 21:51:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:51:11 UTC]    Language field in books: YES
[26-Nov-2025 21:51:11 UTC]    Format field in books: YES
[26-Nov-2025 21:51:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:51:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:51:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:51:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:51:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:51:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:51:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:51:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51: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
[26-Nov-2025 21:51:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:51: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
[26-Nov-2025 21:51:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:51:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:51:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:51:11 UTC] 📊 Database Info:
[26-Nov-2025 21:51:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:51:11 UTC]    Books columns count: 45
[26-Nov-2025 21:51:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:51:11 UTC]    Language field in books: YES
[26-Nov-2025 21:51:11 UTC]    Format field in books: YES
[26-Nov-2025 21:51:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:51:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:51:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:51:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:51:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:51:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:51:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:51:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:51:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:51:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:51:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:51:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:51:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:51:19 UTC] 📊 Database Info:
[26-Nov-2025 21:51:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:51:19 UTC]    Books columns count: 45
[26-Nov-2025 21:51:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:51:19 UTC]    Language field in books: YES
[26-Nov-2025 21:51:19 UTC]    Format field in books: YES
[26-Nov-2025 21:51:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:51:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:51:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:51:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:51:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:51:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:51:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:51:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:51:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:51:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:51:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 21:51:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:51:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:51:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:51:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:51:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:51:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:51:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:51:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:51:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:51:30 UTC] 📊 Database Info:
[26-Nov-2025 21:51:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:51:30 UTC]    Books columns count: 45
[26-Nov-2025 21:51:30 UTC]    Categories columns count: 7
[26-Nov-2025 21:51:30 UTC]    Language field in books: YES
[26-Nov-2025 21:51:30 UTC]    Format field in books: YES
[26-Nov-2025 21:51:30 UTC]    Description field in categories: YES
[26-Nov-2025 21:51:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:51:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:51:30 UTC]    Is_active field in books: YES
[26-Nov-2025 21:51:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:51:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:51:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:51:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:51:30 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:51:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:51:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:52:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:52:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52: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
[26-Nov-2025 21:52:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:52: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
[26-Nov-2025 21:52:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:52:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:52:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:52:47 UTC] 📊 Database Info:
[26-Nov-2025 21:52:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:52:47 UTC]    Books columns count: 45
[26-Nov-2025 21:52:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:52:47 UTC]    Language field in books: YES
[26-Nov-2025 21:52:47 UTC]    Format field in books: YES
[26-Nov-2025 21:52:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:52:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:52:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:52:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:52:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:52:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:52:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:52:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52: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
[26-Nov-2025 21:52:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:52: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
[26-Nov-2025 21:52:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:52:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:52:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:52:47 UTC] 📊 Database Info:
[26-Nov-2025 21:52:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:52:47 UTC]    Books columns count: 45
[26-Nov-2025 21:52:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:52:47 UTC]    Language field in books: YES
[26-Nov-2025 21:52:47 UTC]    Format field in books: YES
[26-Nov-2025 21:52:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:52:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:52:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:52:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:52:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:52:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:52:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:52:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:52:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:52:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:52:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:52:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:52:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:52:58 UTC] 📊 Database Info:
[26-Nov-2025 21:52:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:52:58 UTC]    Books columns count: 45
[26-Nov-2025 21:52:58 UTC]    Categories columns count: 7
[26-Nov-2025 21:52:58 UTC]    Language field in books: YES
[26-Nov-2025 21:52:58 UTC]    Format field in books: YES
[26-Nov-2025 21:52:58 UTC]    Description field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Is_active field in books: YES
[26-Nov-2025 21:52:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:52:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:52:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:52:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:52:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:52:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:52:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:52:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:52:58 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:52:58 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:52:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:52:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:52:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:52:58 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:52:58 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:52:58 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:52:58 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:52:58 UTC] 📊 Database Info:
[26-Nov-2025 21:52:58 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:52:58 UTC]    Books columns count: 45
[26-Nov-2025 21:52:58 UTC]    Categories columns count: 7
[26-Nov-2025 21:52:58 UTC]    Language field in books: YES
[26-Nov-2025 21:52:58 UTC]    Format field in books: YES
[26-Nov-2025 21:52:58 UTC]    Description field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:52:58 UTC]    Is_active field in books: YES
[26-Nov-2025 21:52:58 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:52:58 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:52:58 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:52:58 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:52:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:52:58 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:52:58 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:04 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:04 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:04 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:04 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:04 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:04 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:04 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:04 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:04 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:04 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:04 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:04 UTC] 📊 Database Info:
[26-Nov-2025 21:53:04 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:04 UTC]    Books columns count: 45
[26-Nov-2025 21:53:04 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:04 UTC]    Language field in books: YES
[26-Nov-2025 21:53:04 UTC]    Format field in books: YES
[26-Nov-2025 21:53:04 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:04 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:04 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:04 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:04 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:04 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:04 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:04 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:04 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:04 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:06 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:06 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:06 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:06 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:06 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:06 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:06 UTC] 📊 Database Info:
[26-Nov-2025 21:53:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:06 UTC]    Books columns count: 45
[26-Nov-2025 21:53:06 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:06 UTC]    Language field in books: YES
[26-Nov-2025 21:53:06 UTC]    Format field in books: YES
[26-Nov-2025 21:53:06 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:06 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:10 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:10 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:10 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:10 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:10 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:10 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:10 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:10 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:10 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:10 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:10 UTC] 📊 Database Info:
[26-Nov-2025 21:53:10 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:10 UTC]    Books columns count: 45
[26-Nov-2025 21:53:10 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:10 UTC]    Language field in books: YES
[26-Nov-2025 21:53:10 UTC]    Format field in books: YES
[26-Nov-2025 21:53:10 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:10 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:10 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:10 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:10 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:10 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:10 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:10 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:10 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:10 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:11 UTC] 📊 Database Info:
[26-Nov-2025 21:53:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:11 UTC]    Books columns count: 45
[26-Nov-2025 21:53:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:11 UTC]    Language field in books: YES
[26-Nov-2025 21:53:11 UTC]    Format field in books: YES
[26-Nov-2025 21:53:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:11 UTC] 📊 Database Info:
[26-Nov-2025 21:53:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:11 UTC]    Books columns count: 45
[26-Nov-2025 21:53:11 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:11 UTC]    Language field in books: YES
[26-Nov-2025 21:53:11 UTC]    Format field in books: YES
[26-Nov-2025 21:53:11 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:11 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:12 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:12 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:12 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:12 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:12 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:12 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:12 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:12 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:12 UTC] 📊 Database Info:
[26-Nov-2025 21:53:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:12 UTC]    Books columns count: 45
[26-Nov-2025 21:53:12 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:12 UTC]    Language field in books: YES
[26-Nov-2025 21:53:12 UTC]    Format field in books: YES
[26-Nov-2025 21:53:12 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:12 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:12 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:12 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:12 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:12 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:12 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:12 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:12 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:12 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:15 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:15 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:15 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:15 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:15 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:15 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:15 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:15 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:15 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:15 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:15 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:15 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:15 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:15 UTC] 📊 Database Info:
[26-Nov-2025 21:53:15 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:15 UTC]    Books columns count: 45
[26-Nov-2025 21:53:15 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:15 UTC]    Language field in books: YES
[26-Nov-2025 21:53:15 UTC]    Format field in books: YES
[26-Nov-2025 21:53:15 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:15 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:15 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:15 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:15 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:15 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:15 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:15 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:15 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:15 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:15 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:16 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:16 UTC] 📊 Database Info:
[26-Nov-2025 21:53:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:16 UTC]    Books columns count: 45
[26-Nov-2025 21:53:16 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:16 UTC]    Language field in books: YES
[26-Nov-2025 21:53:16 UTC]    Format field in books: YES
[26-Nov-2025 21:53:16 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:16 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:17 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:17 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:17 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:17 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:17 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:17 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:17 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:17 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:17 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:17 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:17 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:17 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:17 UTC] 📊 Database Info:
[26-Nov-2025 21:53:17 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:17 UTC]    Books columns count: 45
[26-Nov-2025 21:53:17 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:17 UTC]    Language field in books: YES
[26-Nov-2025 21:53:17 UTC]    Format field in books: YES
[26-Nov-2025 21:53:17 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:17 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:17 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:17 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:17 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:17 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:17 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:17 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:17 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:17 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:17 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:18 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:18 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:18 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:18 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:18 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:18 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:18 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:18 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:18 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:18 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:18 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:18 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:18 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:18 UTC] 📊 Database Info:
[26-Nov-2025 21:53:18 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:18 UTC]    Books columns count: 45
[26-Nov-2025 21:53:18 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:18 UTC]    Language field in books: YES
[26-Nov-2025 21:53:18 UTC]    Format field in books: YES
[26-Nov-2025 21:53:18 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:18 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:18 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:18 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:18 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:18 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:18 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:18 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:18 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:18 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:18 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:19 UTC] 📊 Database Info:
[26-Nov-2025 21:53:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:19 UTC]    Books columns count: 45
[26-Nov-2025 21:53:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:19 UTC]    Language field in books: YES
[26-Nov-2025 21:53:19 UTC]    Format field in books: YES
[26-Nov-2025 21:53:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:19 UTC] 📊 Database Info:
[26-Nov-2025 21:53:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:19 UTC]    Books columns count: 45
[26-Nov-2025 21:53:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:19 UTC]    Language field in books: YES
[26-Nov-2025 21:53:19 UTC]    Format field in books: YES
[26-Nov-2025 21:53:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:25 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:25 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:25 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:25 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:25 UTC] 📊 Database Info:
[26-Nov-2025 21:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:25 UTC]    Books columns count: 45
[26-Nov-2025 21:53:25 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:25 UTC]    Language field in books: YES
[26-Nov-2025 21:53:25 UTC]    Format field in books: YES
[26-Nov-2025 21:53:25 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:25 UTC] 📊 Database Info:
[26-Nov-2025 21:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:25 UTC]    Books columns count: 45
[26-Nov-2025 21:53:25 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:25 UTC]    Language field in books: YES
[26-Nov-2025 21:53:25 UTC]    Format field in books: YES
[26-Nov-2025 21:53:25 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:25 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:53:25 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:53:25 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:53:25 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:25 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:25 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:25 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:25 UTC] 📊 Database Info:
[26-Nov-2025 21:53:25 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:25 UTC]    Books columns count: 45
[26-Nov-2025 21:53:25 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:25 UTC]    Language field in books: YES
[26-Nov-2025 21:53:25 UTC]    Format field in books: YES
[26-Nov-2025 21:53:25 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:25 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:25 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:25 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:25 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:25 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:25 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:25 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:53:25 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:37 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:37 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:37 UTC] 📊 Database Info:
[26-Nov-2025 21:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:37 UTC]    Books columns count: 45
[26-Nov-2025 21:53:37 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:37 UTC]    Language field in books: YES
[26-Nov-2025 21:53:37 UTC]    Format field in books: YES
[26-Nov-2025 21:53:37 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:37 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:37 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:37 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:37 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:37 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:37 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:37 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:37 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:37 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:37 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:37 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:37 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:37 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:37 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:37 UTC] 📊 Database Info:
[26-Nov-2025 21:53:37 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:37 UTC]    Books columns count: 45
[26-Nov-2025 21:53:37 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:37 UTC]    Language field in books: YES
[26-Nov-2025 21:53:37 UTC]    Format field in books: YES
[26-Nov-2025 21:53:37 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:37 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:37 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:37 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:37 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:37 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:37 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:37 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 21:53:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:42 UTC] 📊 Database Info:
[26-Nov-2025 21:53:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:42 UTC]    Books columns count: 45
[26-Nov-2025 21:53:42 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:42 UTC]    Language field in books: YES
[26-Nov-2025 21:53:42 UTC]    Format field in books: YES
[26-Nov-2025 21:53:42 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:42 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:42 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:53:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:43 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:43 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:43 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:43 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:43 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:43 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:43 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:43 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:43 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:43 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:43 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:43 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:43 UTC] 📊 Database Info:
[26-Nov-2025 21:53:43 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:43 UTC]    Books columns count: 45
[26-Nov-2025 21:53:43 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:43 UTC]    Language field in books: YES
[26-Nov-2025 21:53:43 UTC]    Format field in books: YES
[26-Nov-2025 21:53:43 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:43 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:43 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:43 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:43 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:43 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:43 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:43 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:43 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:43 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:46 UTC] 📊 Database Info:
[26-Nov-2025 21:53:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:46 UTC]    Books columns count: 45
[26-Nov-2025 21:53:46 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:46 UTC]    Language field in books: YES
[26-Nov-2025 21:53:46 UTC]    Format field in books: YES
[26-Nov-2025 21:53:46 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:46 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:53:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:53:47 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:53:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:47 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:53: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
[26-Nov-2025 21:53:47 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:53:47 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:53:47 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:53:47 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:53:47 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:53:47 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:53:47 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:53:47 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:53:47 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:53:47 UTC] 📊 Database Info:
[26-Nov-2025 21:53:47 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:53:47 UTC]    Books columns count: 45
[26-Nov-2025 21:53:47 UTC]    Categories columns count: 7
[26-Nov-2025 21:53:47 UTC]    Language field in books: YES
[26-Nov-2025 21:53:47 UTC]    Format field in books: YES
[26-Nov-2025 21:53:47 UTC]    Description field in categories: YES
[26-Nov-2025 21:53:47 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:53:47 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:53:47 UTC]    Is_active field in books: YES
[26-Nov-2025 21:53:47 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:53:47 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:53:47 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:53:47 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:53:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:53:47 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:53:47 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:09 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:57:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:09 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:09 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:09 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:09 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:09 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:09 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:09 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:09 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:09 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:09 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:09 UTC] 📊 Database Info:
[26-Nov-2025 21:57:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:09 UTC]    Books columns count: 45
[26-Nov-2025 21:57:09 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:09 UTC]    Language field in books: YES
[26-Nov-2025 21:57:09 UTC]    Format field in books: YES
[26-Nov-2025 21:57:09 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:09 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:09 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:09 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 21:57:09 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 21:57:09 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:09 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:09 UTC] 📊 Database Info:
[26-Nov-2025 21:57:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:09 UTC]    Books columns count: 45
[26-Nov-2025 21:57:09 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:09 UTC]    Language field in books: YES
[26-Nov-2025 21:57:09 UTC]    Format field in books: YES
[26-Nov-2025 21:57:09 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:09 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:09 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:09 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 21:57:09 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 21:57:09 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:09 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:09 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:09 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:09 UTC] 📊 Database Info:
[26-Nov-2025 21:57:09 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:09 UTC]    Books columns count: 45
[26-Nov-2025 21:57:09 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:09 UTC]    Language field in books: YES
[26-Nov-2025 21:57:09 UTC]    Format field in books: YES
[26-Nov-2025 21:57:09 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:09 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:09 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:09 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:09 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:57:09 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:09 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:19 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:19 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:19 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:19 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:19 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:19 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:19 UTC] 📊 Database Info:
[26-Nov-2025 21:57:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:19 UTC]    Books columns count: 45
[26-Nov-2025 21:57:19 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:19 UTC]    Language field in books: YES
[26-Nov-2025 21:57:19 UTC]    Format field in books: YES
[26-Nov-2025 21:57:19 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:19 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:20 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:20 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:57: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
[26-Nov-2025 21:57:20 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:20 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:20 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:20 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:20 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:20 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:20 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:20 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:20 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:20 UTC] 📊 Database Info:
[26-Nov-2025 21:57:20 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:20 UTC]    Books columns count: 45
[26-Nov-2025 21:57:20 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:20 UTC]    Language field in books: YES
[26-Nov-2025 21:57:20 UTC]    Format field in books: YES
[26-Nov-2025 21:57:20 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:20 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:20 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:20 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:20 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:20 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:20 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:20 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:20 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:57:20 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:20 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:49 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:49 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:49 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:49 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:49 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:49 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:49 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:49 UTC] 📊 Database Info:
[26-Nov-2025 21:57:49 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:49 UTC]    Books columns count: 45
[26-Nov-2025 21:57:49 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:49 UTC]    Language field in books: YES
[26-Nov-2025 21:57:49 UTC]    Format field in books: YES
[26-Nov-2025 21:57:49 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:49 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:49 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:49 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:49 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:49 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:49 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:49 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:49 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:49 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:49 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:49 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:49 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:49 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:49 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 21:57:50 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:50 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:50 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:50 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:50 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:50 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:50 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:50 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:50 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:50 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:50 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:50 UTC] 📊 Database Info:
[26-Nov-2025 21:57:50 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:50 UTC]    Books columns count: 45
[26-Nov-2025 21:57:50 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:50 UTC]    Language field in books: YES
[26-Nov-2025 21:57:50 UTC]    Format field in books: YES
[26-Nov-2025 21:57:50 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:50 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:50 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:50 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:50 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:50 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:50 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:50 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:50 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 21:57:50 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:50 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:51 UTC] 📊 Database Info:
[26-Nov-2025 21:57:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:51 UTC]    Books columns count: 45
[26-Nov-2025 21:57:51 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:51 UTC]    Language field in books: YES
[26-Nov-2025 21:57:51 UTC]    Format field in books: YES
[26-Nov-2025 21:57:51 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:51 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:57:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:57:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:57:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:57:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:57:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:57:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:57:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:57:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:57:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:57:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:57:52 UTC] 📊 Database Info:
[26-Nov-2025 21:57:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:57:52 UTC]    Books columns count: 45
[26-Nov-2025 21:57:52 UTC]    Categories columns count: 7
[26-Nov-2025 21:57:52 UTC]    Language field in books: YES
[26-Nov-2025 21:57:52 UTC]    Format field in books: YES
[26-Nov-2025 21:57:52 UTC]    Description field in categories: YES
[26-Nov-2025 21:57:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:57:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:57:52 UTC]    Is_active field in books: YES
[26-Nov-2025 21:57:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:57:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:57:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:57:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:57:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21: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
[26-Nov-2025 21:57:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:57:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:59:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:59:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:59:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:59: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
[26-Nov-2025 21:59:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:59: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
[26-Nov-2025 21:59:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:59:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:59:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:59:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:59:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:59:54 UTC] 📊 Database Info:
[26-Nov-2025 21:59:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:59:54 UTC]    Books columns count: 45
[26-Nov-2025 21:59:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:59:54 UTC]    Language field in books: YES
[26-Nov-2025 21:59:54 UTC]    Format field in books: YES
[26-Nov-2025 21:59:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:59:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:59:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:59:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:59:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:59:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:59:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 21:59:54 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 21:59:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:59:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:59: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
[26-Nov-2025 21:59:54 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 21:59: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
[26-Nov-2025 21:59:54 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 21:59:54 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 21:59:54 UTC] ℹ️ Column institution already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column language already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column format already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 21:59:54 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 21:59:54 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 21:59:54 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 21:59:54 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 21:59:54 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 21:59:54 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 21:59:54 UTC] 📊 Database Info:
[26-Nov-2025 21:59:54 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 21:59:54 UTC]    Books columns count: 45
[26-Nov-2025 21:59:54 UTC]    Categories columns count: 7
[26-Nov-2025 21:59:54 UTC]    Language field in books: YES
[26-Nov-2025 21:59:54 UTC]    Format field in books: YES
[26-Nov-2025 21:59:54 UTC]    Description field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Display_order field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Is_active field in categories: YES
[26-Nov-2025 21:59:54 UTC]    Is_active field in books: YES
[26-Nov-2025 21:59:54 UTC]    External_download_link field in books: YES
[26-Nov-2025 21:59:54 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 21:59:54 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 21:59:54 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 21:59:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 21:59:54 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 21:59:54 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:00:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:00:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:00:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:00:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:00: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
[26-Nov-2025 22:00:11 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:00: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
[26-Nov-2025 22:00:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:00:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:00:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:00:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:00:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:00:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:00:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:00:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:00:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:00:11 UTC] 📊 Database Info:
[26-Nov-2025 22:00:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:00:11 UTC]    Books columns count: 45
[26-Nov-2025 22:00:11 UTC]    Categories columns count: 7
[26-Nov-2025 22:00:11 UTC]    Language field in books: YES
[26-Nov-2025 22:00:11 UTC]    Format field in books: YES
[26-Nov-2025 22:00:11 UTC]    Description field in categories: YES
[26-Nov-2025 22:00:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:00:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:00:11 UTC]    Is_active field in books: YES
[26-Nov-2025 22:00:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:00:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:00:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:00:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:00:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:00:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:00:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:00:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:00:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:00:12 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:00: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
[26-Nov-2025 22:00:12 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:00: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
[26-Nov-2025 22:00:12 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:00:12 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:00:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:00:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:00:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:00:12 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:00:12 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:00:12 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:00:12 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:00:12 UTC] 📊 Database Info:
[26-Nov-2025 22:00:12 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:00:12 UTC]    Books columns count: 45
[26-Nov-2025 22:00:12 UTC]    Categories columns count: 7
[26-Nov-2025 22:00:12 UTC]    Language field in books: YES
[26-Nov-2025 22:00:12 UTC]    Format field in books: YES
[26-Nov-2025 22:00:12 UTC]    Description field in categories: YES
[26-Nov-2025 22:00:12 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:00:12 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:00:12 UTC]    Is_active field in books: YES
[26-Nov-2025 22:00:12 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:00:12 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:00:12 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:00:12 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:00:12 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:00:12 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:00:12 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:11 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:11 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:11 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:11 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:11 UTC] 📊 Database Info:
[26-Nov-2025 22:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:11 UTC]    Books columns count: 45
[26-Nov-2025 22:02:11 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:11 UTC]    Language field in books: YES
[26-Nov-2025 22:02:11 UTC]    Format field in books: YES
[26-Nov-2025 22:02:11 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:11 UTC] 📊 Database Info:
[26-Nov-2025 22:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:11 UTC]    Books columns count: 45
[26-Nov-2025 22:02:11 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:11 UTC]    Language field in books: YES
[26-Nov-2025 22:02:11 UTC]    Format field in books: YES
[26-Nov-2025 22:02:11 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:11 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:02:11 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:02:11 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:11 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:11 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:11 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:11 UTC] 📊 Database Info:
[26-Nov-2025 22:02:11 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:11 UTC]    Books columns count: 45
[26-Nov-2025 22:02:11 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:11 UTC]    Language field in books: YES
[26-Nov-2025 22:02:11 UTC]    Format field in books: YES
[26-Nov-2025 22:02:11 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:11 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:11 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:11 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:11 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:11 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:11 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:11 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:02:11 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:02:11 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 22:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 22:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:21 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:21 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:21 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:21 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:21 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:21 UTC] 📊 Database Info:
[26-Nov-2025 22:02:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:21 UTC]    Books columns count: 45
[26-Nov-2025 22:02:21 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:21 UTC]    Language field in books: YES
[26-Nov-2025 22:02:21 UTC]    Format field in books: YES
[26-Nov-2025 22:02:21 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-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
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing categories with new fields
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:21 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:02:21 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:21 UTC] 📊 Database Info:
[26-Nov-2025 22:02:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:21 UTC]    Books columns count: 45
[26-Nov-2025 22:02:21 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:21 UTC]    Language field in books: YES
[26-Nov-2025 22:02:21 UTC]    Format field in books: YES
[26-Nov-2025 22:02:21 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:21 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:02:21 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:02:21 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:02:21 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:21 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:21 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:21 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:21 UTC] 📊 Database Info:
[26-Nov-2025 22:02:21 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:21 UTC]    Books columns count: 45
[26-Nov-2025 22:02:21 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:21 UTC]    Language field in books: YES
[26-Nov-2025 22:02:21 UTC]    Format field in books: YES
[26-Nov-2025 22:02:21 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:21 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:21 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:21 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:21 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 22:02:21 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:21 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:22 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:22 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:02: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
[26-Nov-2025 22:02:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:22 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:22 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:22 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:23 UTC] 📊 Database Info:
[26-Nov-2025 22:02:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:23 UTC]    Books columns count: 45
[26-Nov-2025 22:02:23 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:23 UTC]    Language field in books: YES
[26-Nov-2025 22:02:23 UTC]    Format field in books: YES
[26-Nov-2025 22:02:23 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:23 UTC] 📊 Database Info:
[26-Nov-2025 22:02:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:23 UTC]    Books columns count: 45
[26-Nov-2025 22:02:23 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:23 UTC]    Language field in books: YES
[26-Nov-2025 22:02:23 UTC]    Format field in books: YES
[26-Nov-2025 22:02:23 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:23 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:23 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:23 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:23 UTC] 📊 Database Info:
[26-Nov-2025 22:02:23 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:02:23 UTC]    Books columns count: 45
[26-Nov-2025 22:02:23 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:23 UTC]    Language field in books: YES
[26-Nov-2025 22:02:23 UTC]    Format field in books: YES
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:02:23 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:23 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:02:23 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:23 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:23 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:23 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:02:23 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:02:23 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:02:23 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:02:23 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:23 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:23 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:02:23 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:02:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:30 UTC] 📊 Database Info:
[26-Nov-2025 22:02:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:30 UTC]    Books columns count: 45
[26-Nov-2025 22:02:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:30 UTC]    Language field in books: YES
[26-Nov-2025 22:02:30 UTC]    Format field in books: YES
[26-Nov-2025 22:02:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:30 UTC] 📊 Database Info:
[26-Nov-2025 22:02:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:30 UTC]    Books columns count: 45
[26-Nov-2025 22:02:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:30 UTC]    Language field in books: YES
[26-Nov-2025 22:02:30 UTC]    Format field in books: YES
[26-Nov-2025 22:02:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:02:32 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:02:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:02:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:02:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:02:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:02:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:02:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:02:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:02:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:02:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:02:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:02:32 UTC] 📊 Database Info:
[26-Nov-2025 22:02:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:02:32 UTC]    Books columns count: 45
[26-Nov-2025 22:02:32 UTC]    Categories columns count: 7
[26-Nov-2025 22:02:32 UTC]    Language field in books: YES
[26-Nov-2025 22:02:32 UTC]    Format field in books: YES
[26-Nov-2025 22:02:32 UTC]    Description field in categories: YES
[26-Nov-2025 22:02:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:02:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:02:32 UTC]    Is_active field in books: YES
[26-Nov-2025 22:02:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:02:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:02:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:02:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:02:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:02:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:02:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:03:58 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:03:58 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:03:58 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:03:58 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:03:58 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:03:58 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:03:58 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:03:58 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:03:58 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:03:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:03:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:03: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
[26-Nov-2025 22:03:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:03: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
[26-Nov-2025 22:03:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:03:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:03:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:03:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:03:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:03:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:03:59 UTC] 📊 Database Info:
[26-Nov-2025 22:03:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:03:59 UTC]    Books columns count: 45
[26-Nov-2025 22:03:59 UTC]    Categories columns count: 7
[26-Nov-2025 22:03:59 UTC]    Language field in books: YES
[26-Nov-2025 22:03:59 UTC]    Format field in books: YES
[26-Nov-2025 22:03:59 UTC]    Description field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Is_active field in books: YES
[26-Nov-2025 22:03:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:03:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:03:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:03:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:03:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:03:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:03:59 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:03:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:03:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:03:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:03: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
[26-Nov-2025 22:03:59 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:03: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
[26-Nov-2025 22:03:59 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:03:59 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:03:59 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:03:59 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:03:59 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:03:59 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:03:59 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:03:59 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:03:59 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:03:59 UTC] 📊 Database Info:
[26-Nov-2025 22:03:59 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:03:59 UTC]    Books columns count: 45
[26-Nov-2025 22:03:59 UTC]    Categories columns count: 7
[26-Nov-2025 22:03:59 UTC]    Language field in books: YES
[26-Nov-2025 22:03:59 UTC]    Format field in books: YES
[26-Nov-2025 22:03:59 UTC]    Description field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:03:59 UTC]    Is_active field in books: YES
[26-Nov-2025 22:03:59 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:03:59 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:03:59 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:03:59 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:03:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:03:59 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:03:59 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:16 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:16 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:16 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:16 UTC] 📊 Database Info:
[26-Nov-2025 22:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:16 UTC]    Books columns count: 45
[26-Nov-2025 22:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:16 UTC]    Language field in books: YES
[26-Nov-2025 22:04:16 UTC]    Format field in books: YES
[26-Nov-2025 22:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:16 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:04:16 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:04:16 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:16 UTC] 📊 Database Info:
[26-Nov-2025 22:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:16 UTC]    Books columns count: 45
[26-Nov-2025 22:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:16 UTC]    Language field in books: YES
[26-Nov-2025 22:04:16 UTC]    Format field in books: YES
[26-Nov-2025 22:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:16 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:04:16 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:04:16 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:16 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:16 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:16 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:16 UTC] 📊 Database Info:
[26-Nov-2025 22:04:16 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:16 UTC]    Books columns count: 45
[26-Nov-2025 22:04:16 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:16 UTC]    Language field in books: YES
[26-Nov-2025 22:04:16 UTC]    Format field in books: YES
[26-Nov-2025 22:04:16 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:16 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:16 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:16 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:16 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:16 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:16 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:40 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:40 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:40 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:40 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:40 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:40 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:40 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:40 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:40 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:40 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:40 UTC] 📊 Database Info:
[26-Nov-2025 22:04:40 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:40 UTC]    Books columns count: 45
[26-Nov-2025 22:04:40 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:40 UTC]    Language field in books: YES
[26-Nov-2025 22:04:40 UTC]    Format field in books: YES
[26-Nov-2025 22:04:40 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:40 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:40 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:40 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:40 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:40 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:40 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:40 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:40 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:40 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:41 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:41 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:41 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:41 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:41 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:41 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:41 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:41 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:41 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:41 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:41 UTC] 📊 Database Info:
[26-Nov-2025 22:04:41 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:41 UTC]    Books columns count: 45
[26-Nov-2025 22:04:41 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:41 UTC]    Language field in books: YES
[26-Nov-2025 22:04:41 UTC]    Format field in books: YES
[26-Nov-2025 22:04:41 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:41 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:41 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:41 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:41 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:41 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:41 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:41 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:41 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:41 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:51 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:51 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:51 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:51 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:51 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:51 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:51 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:51 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:51 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:51 UTC] 📊 Database Info:
[26-Nov-2025 22:04:51 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:51 UTC]    Books columns count: 45
[26-Nov-2025 22:04:51 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:51 UTC]    Language field in books: YES
[26-Nov-2025 22:04:51 UTC]    Format field in books: YES
[26-Nov-2025 22:04:51 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:51 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:51 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:51 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:51 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:51 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:51 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:51 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:04:51 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:51 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:04:52 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:04:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 22:04:52 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:04:52 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:04:52 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:04:52 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:04:52 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:04:52 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:04:52 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:04:52 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:04:52 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:04:52 UTC] 📊 Database Info:
[26-Nov-2025 22:04:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:04:52 UTC]    Books columns count: 45
[26-Nov-2025 22:04:52 UTC]    Categories columns count: 7
[26-Nov-2025 22:04:52 UTC]    Language field in books: YES
[26-Nov-2025 22:04:52 UTC]    Format field in books: YES
[26-Nov-2025 22:04:52 UTC]    Description field in categories: YES
[26-Nov-2025 22:04:52 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:04:52 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:04:52 UTC]    Is_active field in books: YES
[26-Nov-2025 22:04:52 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:04:52 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:04:52 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:04:52 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:04:52 UTC] ℹ️ Database is already at version 24
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-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
[26-Nov-2025 22:04:52 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:04:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09: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
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:30 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:30 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:30 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:30 UTC] 📊 Database Info:
[26-Nov-2025 22:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:30 UTC]    Books columns count: 45
[26-Nov-2025 22:09:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:30 UTC]    Language field in books: YES
[26-Nov-2025 22:09:30 UTC]    Format field in books: YES
[26-Nov-2025 22:09:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:30 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:09:30 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:30 UTC] 📊 Database Info:
[26-Nov-2025 22:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:30 UTC]    Books columns count: 45
[26-Nov-2025 22:09:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:30 UTC]    Language field in books: YES
[26-Nov-2025 22:09:30 UTC]    Format field in books: YES
[26-Nov-2025 22:09:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:30 UTC] 📊 Database Info:
[26-Nov-2025 22:09:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:30 UTC]    Books columns count: 45
[26-Nov-2025 22:09:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:30 UTC]    Language field in books: YES
[26-Nov-2025 22:09:30 UTC]    Format field in books: YES
[26-Nov-2025 22:09:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:09:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:30 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:09:30 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:09:30 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:09:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:09:34 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:09:34 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:09:34 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:09:34 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:34 UTC] 📊 Database Info:
[26-Nov-2025 22:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:34 UTC]    Books columns count: 45
[26-Nov-2025 22:09:34 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:34 UTC]    Language field in books: YES
[26-Nov-2025 22:09:34 UTC]    Format field in books: YES
[26-Nov-2025 22:09:34 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:34 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:34 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:34 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:34 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:09:34 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:34 UTC] 📊 Database Info:
[26-Nov-2025 22:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:34 UTC]    Books columns count: 45
[26-Nov-2025 22:09:34 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:34 UTC]    Language field in books: YES
[26-Nov-2025 22:09:34 UTC]    Format field in books: YES
[26-Nov-2025 22:09:34 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:09:34 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:34 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:34 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:34 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:34 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:09:34 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:09:34 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:09:34 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:09:34 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:09:34 UTC] 📊 Database Info:
[26-Nov-2025 22:09:34 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:09:34 UTC]    Books columns count: 45
[26-Nov-2025 22:09:34 UTC]    Categories columns count: 7
[26-Nov-2025 22:09:34 UTC]    Language field in books: YES
[26-Nov-2025 22:09:34 UTC]    Format field in books: YES
[26-Nov-2025 22:09:34 UTC]    Description field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:09:34 UTC]    Is_active field in books: YES
[26-Nov-2025 22:09:34 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:09:34 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:09:34 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:09:34 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:09:34 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:09:34 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:09:34 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:09:34 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:09:34 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:10:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:10:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:10:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:10:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:10:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:10:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:10:29 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:10:29 UTC] 📊 Database Info:
[26-Nov-2025 22:10:29 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:10:29 UTC]    Books columns count: 45
[26-Nov-2025 22:10:29 UTC]    Categories columns count: 7
[26-Nov-2025 22:10:29 UTC]    Language field in books: YES
[26-Nov-2025 22:10:29 UTC]    Format field in books: YES
[26-Nov-2025 22:10:29 UTC]    Description field in categories: YES
[26-Nov-2025 22:10:29 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:10:29 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:10:29 UTC]    Is_active field in books: YES
[26-Nov-2025 22:10:29 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:10:29 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:10:29 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:10:29 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:10:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:10:29 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:10:29 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:10:29 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:10:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:10:29 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:10:29 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:10:29 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:10:29 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:10:29 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:10:29 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:10:29 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:10:29 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:10:30 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:10:30 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:10:30 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:10:30 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:10:30 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:10:30 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:10:30 UTC] 📊 Database Info:
[26-Nov-2025 22:10:30 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:10:30 UTC]    Books columns count: 45
[26-Nov-2025 22:10:30 UTC]    Categories columns count: 7
[26-Nov-2025 22:10:30 UTC]    Language field in books: YES
[26-Nov-2025 22:10:30 UTC]    Format field in books: YES
[26-Nov-2025 22:10:30 UTC]    Description field in categories: YES
[26-Nov-2025 22:10:30 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:10:30 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:10:30 UTC]    Is_active field in books: YES
[26-Nov-2025 22:10:30 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:10:30 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:10:30 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:10:30 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:10:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:10:30 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:10:30 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:12:55 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:12:55 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:12:55 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:12:55 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:12:55 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:12:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:12:55 UTC] 📊 Database Info:
[26-Nov-2025 22:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:12:55 UTC]    Books columns count: 45
[26-Nov-2025 22:12:55 UTC]    Categories columns count: 7
[26-Nov-2025 22:12:55 UTC]    Language field in books: YES
[26-Nov-2025 22:12:55 UTC]    Format field in books: YES
[26-Nov-2025 22:12:55 UTC]    Description field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:12:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:12:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:12:55 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:12:55 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:12:55 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:12:55 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:12:55 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:12:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:12:55 UTC] 📊 Database Info:
[26-Nov-2025 22:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:12:55 UTC]    Books columns count: 45
[26-Nov-2025 22:12:55 UTC]    Categories columns count: 7
[26-Nov-2025 22:12:55 UTC]    Language field in books: YES
[26-Nov-2025 22:12:55 UTC]    Format field in books: YES
[26-Nov-2025 22:12:55 UTC]    Description field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:12:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:12:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:12:55 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:12:55 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:12:55 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:12:55 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:12:55 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:12:55 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:12:55 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:12:55 UTC] 📊 Database Info:
[26-Nov-2025 22:12:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:12:55 UTC]    Books columns count: 45
[26-Nov-2025 22:12:55 UTC]    Categories columns count: 7
[26-Nov-2025 22:12:55 UTC]    Language field in books: YES
[26-Nov-2025 22:12:55 UTC]    Format field in books: YES
[26-Nov-2025 22:12:55 UTC]    Description field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:12:55 UTC]    Is_active field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:12:55 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:12:55 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:12:55 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:12:55 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:12:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:13:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:13:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:13:31 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:13:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:31 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:31 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:31 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:31 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:13:31 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:13:31 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:31 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:13:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:13:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:32 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:32 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13:32 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:13:32 UTC] 📊 Database Info:
[26-Nov-2025 22:13:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:13:32 UTC]    Books columns count: 45
[26-Nov-2025 22:13:32 UTC]    Categories columns count: 7
[26-Nov-2025 22:13:32 UTC]    Language field in books: YES
[26-Nov-2025 22:13:32 UTC]    Format field in books: YES
[26-Nov-2025 22:13:32 UTC]    Description field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:13:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:13:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:13:32 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:13:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:32 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:13:32 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:32 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:32 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:32 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:13:32 UTC] 📊 Database Info:
[26-Nov-2025 22:13:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:13:32 UTC]    Books columns count: 45
[26-Nov-2025 22:13:32 UTC]    Categories columns count: 7
[26-Nov-2025 22:13:32 UTC]    Language field in books: YES
[26-Nov-2025 22:13:32 UTC]    Format field in books: YES
[26-Nov-2025 22:13:32 UTC]    Description field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:13:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:13:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:13:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:13:32 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:13:32 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:13:32 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:13:32 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:32 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:32 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13:32 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:13:32 UTC] 📊 Database Info:
[26-Nov-2025 22:13:32 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:13:32 UTC]    Books columns count: 45
[26-Nov-2025 22:13:32 UTC]    Categories columns count: 7
[26-Nov-2025 22:13:32 UTC]    Language field in books: YES
[26-Nov-2025 22:13:32 UTC]    Format field in books: YES
[26-Nov-2025 22:13:32 UTC]    Description field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:13:32 UTC]    Is_active field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:13:32 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:13:32 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:13:32 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:32 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:13:32 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:13:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:13:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13: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
[26-Nov-2025 22:13:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:13: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
[26-Nov-2025 22:13:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:13:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:13:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:13:36 UTC] 📊 Database Info:
[26-Nov-2025 22:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:13:36 UTC]    Books columns count: 45
[26-Nov-2025 22:13:36 UTC]    Categories columns count: 7
[26-Nov-2025 22:13:36 UTC]    Language field in books: YES
[26-Nov-2025 22:13:36 UTC]    Format field in books: YES
[26-Nov-2025 22:13:36 UTC]    Description field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Is_active field in books: YES
[26-Nov-2025 22:13:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:13:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:13:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:13:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:13:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:13:36 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:13:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13: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
[26-Nov-2025 22:13:36 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:13: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
[26-Nov-2025 22:13:36 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:13:36 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:13:36 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:13:36 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:13:36 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:13:36 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:13:36 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:13:36 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:13:36 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:13:36 UTC] 📊 Database Info:
[26-Nov-2025 22:13:36 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:13:36 UTC]    Books columns count: 45
[26-Nov-2025 22:13:36 UTC]    Categories columns count: 7
[26-Nov-2025 22:13:36 UTC]    Language field in books: YES
[26-Nov-2025 22:13:36 UTC]    Format field in books: YES
[26-Nov-2025 22:13:36 UTC]    Description field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:13:36 UTC]    Is_active field in books: YES
[26-Nov-2025 22:13:36 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:13:36 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:13:36 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:13:36 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:13:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:13:36 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:13:36 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:42 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:42 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:42 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:16:42 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 22:16:42 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:42 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:42 UTC] 📊 Database Info:
[26-Nov-2025 22:16:42 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:42 UTC]    Books columns count: 45
[26-Nov-2025 22:16:42 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:42 UTC]    Language field in books: YES
[26-Nov-2025 22:16:42 UTC]    Format field in books: YES
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:42 UTC]    Is_active field in books: YES
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:42 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:42 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:42 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:16:42 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:42 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:16:46 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:16:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16: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
[26-Nov-2025 22:16:46 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 22:16: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
[26-Nov-2025 22:16:46 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:16:46 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:16:46 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:16:46 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:16:46 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:16:46 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:16:46 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:16:46 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:16:46 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:16:46 UTC] 📊 Database Info:
[26-Nov-2025 22:16:46 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:16:46 UTC]    Books columns count: 45
[26-Nov-2025 22:16:46 UTC]    Categories columns count: 7
[26-Nov-2025 22:16:46 UTC]    Language field in books: YES
[26-Nov-2025 22:16:46 UTC]    Format field in books: YES
[26-Nov-2025 22:16:46 UTC]    Description field in categories: YES
[26-Nov-2025 22:16:46 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:16:46 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:16:46 UTC]    Is_active field in books: YES
[26-Nov-2025 22:16:46 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:16:46 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:16:46 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:16:46 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:16:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 22:16:46 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:16:46 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:45:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:45:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:45:39 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:45:39 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 22:45:39 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 22:45:39 UTC] ℹ️ Column institution already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column language already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column format already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 22:45:39 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 22:45:39 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 22:45:39 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:45:39 UTC] 📊 Database Info:
[26-Nov-2025 22:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:45:39 UTC]    Books columns count: 45
[26-Nov-2025 22:45:39 UTC]    Categories columns count: 7
[26-Nov-2025 22:45:39 UTC]    Language field in books: YES
[26-Nov-2025 22:45:39 UTC]    Format field in books: YES
[26-Nov-2025 22:45:39 UTC]    Description field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:45:39 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:45:39 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:45:39 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 22:45:39 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:45:39 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:45:39 UTC] 📊 Database Info:
[26-Nov-2025 22:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:45:39 UTC]    Books columns count: 45
[26-Nov-2025 22:45:39 UTC]    Categories columns count: 7
[26-Nov-2025 22:45:39 UTC]    Language field in books: YES
[26-Nov-2025 22:45:39 UTC]    Format field in books: YES
[26-Nov-2025 22:45:39 UTC]    Description field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:45:39 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:45:39 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 22:45:39 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 22:45:39 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 22:45:39 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 22:45:39 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 22:45:39 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 22:45:39 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 22:45:39 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 22:45:39 UTC] 📊 Database Info:
[26-Nov-2025 22:45:39 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 22:45:39 UTC]    Books columns count: 45
[26-Nov-2025 22:45:39 UTC]    Categories columns count: 7
[26-Nov-2025 22:45:39 UTC]    Language field in books: YES
[26-Nov-2025 22:45:39 UTC]    Format field in books: YES
[26-Nov-2025 22:45:39 UTC]    Description field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Display_order field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in categories: YES
[26-Nov-2025 22:45:39 UTC]    Is_active field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_link field in books: YES
[26-Nov-2025 22:45:39 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 22:45:39 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 22:45:39 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22: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
[26-Nov-2025 22:45:39 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 22:45:39 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:05 UTC] 📊 Database Info:
[26-Nov-2025 23:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:05 UTC]    Books columns count: 45
[26-Nov-2025 23:18:05 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC]    Language field in books: YES
[26-Nov-2025 23:18:05 UTC]    Format field in books: YES
[26-Nov-2025 23:18:05 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:05 UTC] 📊 Database Info:
[26-Nov-2025 23:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:05 UTC]    Books columns count: 45
[26-Nov-2025 23:18:05 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:05 UTC]    Language field in books: YES
[26-Nov-2025 23:18:05 UTC]    Format field in books: YES
[26-Nov-2025 23:18:05 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:05 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 23:18:05 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:05 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:05 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:05 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:05 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:05 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:05 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:05 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:05 UTC] 📊 Database Info:
[26-Nov-2025 23:18:05 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:05 UTC]    Books columns count: 45
[26-Nov-2025 23:18:05 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:05 UTC]    Language field in books: YES
[26-Nov-2025 23:18:05 UTC]    Format field in books: YES
[26-Nov-2025 23:18:05 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:05 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:05 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:05 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:05 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:05 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:05 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:06 UTC] 📊 Database Info:
[26-Nov-2025 23:18:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:06 UTC]    Books columns count: 45
[26-Nov-2025 23:18:06 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:06 UTC]    Language field in books: YES
[26-Nov-2025 23:18:06 UTC]    Format field in books: YES
[26-Nov-2025 23:18:06 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:06 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:06 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:06 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:06 UTC] 📊 Database Info:
[26-Nov-2025 23:18:06 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:06 UTC] 📊 Database Info:
[26-Nov-2025 23:18:06 UTC]    Books columns count: 45
[26-Nov-2025 23:18:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:06 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:06 UTC]    Books columns count: 45
[26-Nov-2025 23:18:06 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:06 UTC]    Language field in books: YES
[26-Nov-2025 23:18:06 UTC]    Language field in books: YES
[26-Nov-2025 23:18:06 UTC]    Format field in books: YES
[26-Nov-2025 23:18:06 UTC]    Format field in books: YES
[26-Nov-2025 23:18:06 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:06 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:06 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:06 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:06 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:06 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 23:18:06 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:18:06 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 23:18:08 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:18:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:08 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:18:08 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:18:08 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:18:08 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:18:08 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:18:08 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:18:08 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:18:08 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:18:08 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:18:08 UTC] 📊 Database Info:
[26-Nov-2025 23:18:08 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:18:08 UTC]    Books columns count: 45
[26-Nov-2025 23:18:08 UTC]    Categories columns count: 7
[26-Nov-2025 23:18:08 UTC]    Language field in books: YES
[26-Nov-2025 23:18:08 UTC]    Format field in books: YES
[26-Nov-2025 23:18:08 UTC]    Description field in categories: YES
[26-Nov-2025 23:18:08 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:18:08 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:18:08 UTC]    Is_active field in books: YES
[26-Nov-2025 23:18:08 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:18:08 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:18:08 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:18:08 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:18:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:18:08 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:18:08 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:12 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:12 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:12 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:12 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:12 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:12 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:12 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:12 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 23:55:13 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:55:13 UTC] 📁 جلب التصنيفات النشطة فقط
[26-Nov-2025 23:55:13 UTC] ✅ إرجاع 2 تصنيف نشط
[26-Nov-2025 23:55:13 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:55:13 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:55:13 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:55:13 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:55:13 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:55:13 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:55:13 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:55:13 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:55:13 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:55:13 UTC] 📊 Database Info:
[26-Nov-2025 23:55:13 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:55:13 UTC]    Books columns count: 45
[26-Nov-2025 23:55:13 UTC]    Categories columns count: 7
[26-Nov-2025 23:55:13 UTC]    Language field in books: YES
[26-Nov-2025 23:55:13 UTC]    Format field in books: YES
[26-Nov-2025 23:55:13 UTC]    Description field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:55:13 UTC]    Is_active field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:55:13 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:55:13 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:55:13 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:55:13 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:55:13 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:23 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:23 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:23 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:23 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:23 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:24 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:24 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:24 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:24 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:24 UTC] 📊 Database Info:
[26-Nov-2025 23:57:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:24 UTC]    Books columns count: 45
[26-Nov-2025 23:57:24 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:24 UTC]    Language field in books: YES
[26-Nov-2025 23:57:24 UTC]    Format field in books: YES
[26-Nov-2025 23:57:24 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:24 UTC] 📊 Database Info:
[26-Nov-2025 23:57:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:24 UTC]    Books columns count: 45
[26-Nov-2025 23:57:24 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:24 UTC]    Language field in books: YES
[26-Nov-2025 23:57:24 UTC]    Format field in books: YES
[26-Nov-2025 23:57:24 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:24 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 23:57:24 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 23:57:24 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:24 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:24 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:24 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:24 UTC] 📊 Database Info:
[26-Nov-2025 23:57:24 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:24 UTC]    Books columns count: 45
[26-Nov-2025 23:57:24 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:24 UTC]    Language field in books: YES
[26-Nov-2025 23:57:24 UTC]    Format field in books: YES
[26-Nov-2025 23:57:24 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:24 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:24 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:24 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:24 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:24 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:24 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:24 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 23:57:24 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 23:57:24 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 23:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:33 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:33 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:33 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:33 UTC] 📊 Database Info:
[26-Nov-2025 23:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:33 UTC]    Books columns count: 45
[26-Nov-2025 23:57:33 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:33 UTC]    Language field in books: YES
[26-Nov-2025 23:57:33 UTC]    Format field in books: YES
[26-Nov-2025 23:57:33 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:33 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 23:57:33 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 23:57:33 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:33 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:33 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:33 UTC] 📊 Database Info:
[26-Nov-2025 23:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:33 UTC]    Books columns count: 45
[26-Nov-2025 23:57:33 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:33 UTC]    Language field in books: YES
[26-Nov-2025 23:57:33 UTC]    Format field in books: YES
[26-Nov-2025 23:57:33 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:33 UTC] 📊 Database Info:
[26-Nov-2025 23:57:33 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:33 UTC]    Books columns count: 45
[26-Nov-2025 23:57:33 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:33 UTC]    Language field in books: YES
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:57:33 UTC]    Format field in books: YES
[26-Nov-2025 23:57:33 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:33 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:33 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:33 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:33 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:57:33 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:33 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:33 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 23:57:33 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 23:57:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:53 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:53 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:53 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:57: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
[26-Nov-2025 23:57:53 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:53 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:57:53 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:57:53 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:53 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:53 UTC] 📊 Database Info:
[26-Nov-2025 23:57:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:53 UTC]    Books columns count: 45
[26-Nov-2025 23:57:53 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:53 UTC]    Language field in books: YES
[26-Nov-2025 23:57:53 UTC]    Format field in books: YES
[26-Nov-2025 23:57:53 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:53 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:53 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:53 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:53 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:53 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:57:53 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:57:53 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:53 UTC] 📊 Database Info:
[26-Nov-2025 23:57:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:53 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:57:53 UTC]    Books columns count: 45
[26-Nov-2025 23:57:53 UTC] 📊 Database Info:
[26-Nov-2025 23:57:53 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:53 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:57:53 UTC]    Books columns count: 45
[26-Nov-2025 23:57:53 UTC]    Categories columns count: 7
[26-Nov-2025 23:57:53 UTC]    Language field in books: YES
[26-Nov-2025 23:57:53 UTC]    Format field in books: YES
[26-Nov-2025 23:57:53 UTC]    Language field in books: YES
[26-Nov-2025 23:57:53 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Format field in books: YES
[26-Nov-2025 23:57:53 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Description field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:57:53 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:53 UTC]    Is_active field in books: YES
[26-Nov-2025 23:57:53 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:53 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:57:53 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:53 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:57:53 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:53 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:57:53 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23:57:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:53 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[26-Nov-2025 23:57:53 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:57:53 UTC] ✅ إرجاع 0 تصنيف بروفايل
[26-Nov-2025 23:57:53 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:57:53 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:57:53 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[26-Nov-2025 23:57:53 UTC] ✅ إرجاع 2 تصنيف
[26-Nov-2025 23:58:18 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:58:18 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:58:18 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:58:18 UTC] ✅ Database tables created/updated successfully with all new fields
[26-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
[26-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
[26-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
[26-Nov-2025 23:58:18 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:58:18 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:58:18 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:58:18 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:58:18 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:58:18 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:58:19 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:58:19 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:58:19 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:58:19 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:58:19 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:58:19 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:58:19 UTC] 📊 Database Info:
[26-Nov-2025 23:58:19 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:58:19 UTC]    Books columns count: 45
[26-Nov-2025 23:58:19 UTC]    Categories columns count: 7
[26-Nov-2025 23:58:19 UTC]    Language field in books: YES
[26-Nov-2025 23:58:19 UTC]    Format field in books: YES
[26-Nov-2025 23:58:19 UTC]    Description field in categories: YES
[26-Nov-2025 23:58:19 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:58:19 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:58:19 UTC]    Is_active field in books: YES
[26-Nov-2025 23:58:19 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:58:19 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:58:19 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:58:19 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:58:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23: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
[26-Nov-2025 23:58:19 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:58:19 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[26-Nov-2025 23:58:26 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[26-Nov-2025 23:58:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:58:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:58:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:58: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
[26-Nov-2025 23:58:26 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[26-Nov-2025 23:58: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
[26-Nov-2025 23:58:26 UTC] ⚠️ Missing columns detected: description, display_order
[26-Nov-2025 23:58:26 UTC] 🔄 Attempting to add missing columns...
[26-Nov-2025 23:58:26 UTC] ℹ️ Column institution already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column publication_year already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column keywords already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_summary already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_toc already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column selected_pages_original already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column extracted_summary_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_protected already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column protection_key already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_read_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column read_button_text already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_external_plus already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column custom_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_file_size already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column taille_before_extrait already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_taille_before_extrait already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_download_extrait_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column download_extrait_button_text already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column original_pdf_url already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column download_count already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column stockage already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column language already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column format already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column external_download_link already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_external_download_button already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column external_download_protection_key already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_external_download_protected already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_active already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column require_login_for_download already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column description already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column display_order already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column is_active already exists in categories
[26-Nov-2025 23:58:26 UTC] ℹ️ Column show_welcome_section already exists
[26-Nov-2025 23:58:26 UTC] ℹ️ Column company_address already exists
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with original_pdf_url
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with is_active = TRUE
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing categories with new fields
[26-Nov-2025 23:58:26 UTC] ✅ Default screen texts inserted successfully
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with empty language field
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with empty format field
[26-Nov-2025 23:58:26 UTC] ✅ Updated existing books with default external download link and protection values
[26-Nov-2025 23:58:26 UTC] ✅ Database tables created/updated successfully with all new fields
[26-Nov-2025 23:58:26 UTC] ℹ️ Favorites table not available for inspection
[26-Nov-2025 23:58:26 UTC] 📊 Database Info:
[26-Nov-2025 23:58:26 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[26-Nov-2025 23:58:26 UTC]    Books columns count: 45
[26-Nov-2025 23:58:26 UTC]    Categories columns count: 7
[26-Nov-2025 23:58:26 UTC]    Language field in books: YES
[26-Nov-2025 23:58:26 UTC]    Format field in books: YES
[26-Nov-2025 23:58:26 UTC]    Description field in categories: YES
[26-Nov-2025 23:58:26 UTC]    Display_order field in categories: YES
[26-Nov-2025 23:58:26 UTC]    Is_active field in categories: YES
[26-Nov-2025 23:58:26 UTC]    Is_active field in books: YES
[26-Nov-2025 23:58:26 UTC]    External_download_link field in books: YES
[26-Nov-2025 23:58:26 UTC]    Show_external_download_button field in books: YES
[26-Nov-2025 23:58:26 UTC]    External_download_protection_key field in books: YES
[26-Nov-2025 23:58:26 UTC]    Is_external_download_protected field in books: YES
[26-Nov-2025 23:58:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[26-Nov-2025 23:58:26 UTC] ℹ️ Database is already at version 24
[26-Nov-2025 23:58:26 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 02:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 02:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 02:02:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 02:02:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 02:02:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 02:02:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 02:02:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02:02:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 02:02:48 UTC] 📊 Database Info:
[27-Nov-2025 02:02:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 02:02:48 UTC]    Books columns count: 45
[27-Nov-2025 02:02:48 UTC]    Categories columns count: 7
[27-Nov-2025 02:02:48 UTC]    Language field in books: YES
[27-Nov-2025 02:02:48 UTC]    Format field in books: YES
[27-Nov-2025 02:02:48 UTC]    Description field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 02:02:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 02:02:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02:02:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 02:02:48 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Nov-2025 02:02:48 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[27-Nov-2025 02:02:48 UTC] ✅ إرجاع 0 تصنيف بروفايل
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02:02:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 02:02:48 UTC] 📊 Database Info:
[27-Nov-2025 02:02:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 02:02:48 UTC]    Books columns count: 45
[27-Nov-2025 02:02:48 UTC]    Categories columns count: 7
[27-Nov-2025 02:02:48 UTC]    Language field in books: YES
[27-Nov-2025 02:02:48 UTC]    Format field in books: YES
[27-Nov-2025 02:02:48 UTC]    Description field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 02:02:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 02:02:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02:02:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 02:02:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 02:02:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 02:02:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 02:02:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 02:02:48 UTC] 📊 Database Info:
[27-Nov-2025 02:02:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 02:02:48 UTC]    Books columns count: 45
[27-Nov-2025 02:02:48 UTC]    Categories columns count: 7
[27-Nov-2025 02:02:48 UTC]    Language field in books: YES
[27-Nov-2025 02:02:48 UTC]    Format field in books: YES
[27-Nov-2025 02:02:48 UTC]    Description field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 02:02:48 UTC]    Is_active field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 02:02:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 02:02:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 02:02:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02: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
[27-Nov-2025 02:02:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 02:02:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 02:02:48 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[27-Nov-2025 02:02:48 UTC] ✅ إرجاع 2 تصنيف
[27-Nov-2025 12:23:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:51 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:51 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:51 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:51 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:51 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:51 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:51 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:51 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:51 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:51 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:51 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:51 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:51 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:51 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:51 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:51 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:51 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:51 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:52 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:52 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:52 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:52 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:52 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:52 UTC] 📊 Database Info:
[27-Nov-2025 12:23:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:52 UTC]    Books columns count: 45
[27-Nov-2025 12:23:52 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:52 UTC]    Language field in books: YES
[27-Nov-2025 12:23:52 UTC]    Format field in books: YES
[27-Nov-2025 12:23:52 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:52 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:52 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:52 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 12:23:52 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 12:23:52 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:52 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:52 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:52 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:52 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:52 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:52 UTC] 📊 Database Info:
[27-Nov-2025 12:23:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:52 UTC]    Books columns count: 45
[27-Nov-2025 12:23:52 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:52 UTC]    Language field in books: YES
[27-Nov-2025 12:23:52 UTC]    Format field in books: YES
[27-Nov-2025 12:23:52 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:52 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:52 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:52 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:52 UTC] 📊 Database Info:
[27-Nov-2025 12:23:52 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:52 UTC]    Books columns count: 45
[27-Nov-2025 12:23:52 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:52 UTC]    Language field in books: YES
[27-Nov-2025 12:23:52 UTC]    Format field in books: YES
[27-Nov-2025 12:23:52 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:52 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:52 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:52 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:52 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:52 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:52 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:55 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:55 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:55 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:55 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23: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
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:23:55 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:23:55 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:23:55 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:23:55 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:55 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:55 UTC] 📊 Database Info:
[27-Nov-2025 12:23:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:55 UTC]    Books columns count: 45
[27-Nov-2025 12:23:55 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:55 UTC]    Language field in books: YES
[27-Nov-2025 12:23:55 UTC]    Format field in books: YES
[27-Nov-2025 12:23:55 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:55 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:55 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:55 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:23:55 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:23:55 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:55 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:23:55 UTC] 📊 Database Info:
[27-Nov-2025 12:23:55 UTC] 📊 Database Info:
[27-Nov-2025 12:23:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:55 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:23:55 UTC]    Books columns count: 45
[27-Nov-2025 12:23:55 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:55 UTC]    Books columns count: 45
[27-Nov-2025 12:23:55 UTC]    Language field in books: YES
[27-Nov-2025 12:23:55 UTC]    Categories columns count: 7
[27-Nov-2025 12:23:55 UTC]    Format field in books: YES
[27-Nov-2025 12:23:55 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:55 UTC]    Language field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:55 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:55 UTC]    Format field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:55 UTC]    Description field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:55 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:23:55 UTC]    Is_active field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:23:55 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:23:55 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:23:55 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:23:55 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:23:55 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:23:55 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 12:23:55 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 12:53:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:53:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:53:48 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:53:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:53:48 UTC] ❌ Error adding column format to favorites: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin_acadlibapp.favorites' doesn't exist
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53: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
[27-Nov-2025 12:53:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:53:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:53:48 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 12:53:48 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column institution already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column language already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column format already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:53:48 UTC] 📊 Database Info:
[27-Nov-2025 12:53:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:53:48 UTC]    Books columns count: 45
[27-Nov-2025 12:53:48 UTC]    Categories columns count: 7
[27-Nov-2025 12:53:48 UTC]    Language field in books: YES
[27-Nov-2025 12:53:48 UTC]    Format field in books: YES
[27-Nov-2025 12:53:48 UTC]    Description field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:53:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:53:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53:48 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 12:53:48 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 12:53:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:53:48 UTC] 📊 Database Info:
[27-Nov-2025 12:53:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:53:48 UTC]    Books columns count: 45
[27-Nov-2025 12:53:48 UTC]    Categories columns count: 7
[27-Nov-2025 12:53:48 UTC]    Language field in books: YES
[27-Nov-2025 12:53:48 UTC]    Format field in books: YES
[27-Nov-2025 12:53:48 UTC]    Description field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:53:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:53:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:53:48 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 12:53:48 UTC] 📊 Database Info:
[27-Nov-2025 12:53:48 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 12:53:48 UTC]    Books columns count: 45
[27-Nov-2025 12:53:48 UTC]    Categories columns count: 7
[27-Nov-2025 12:53:48 UTC]    Language field in books: YES
[27-Nov-2025 12:53:48 UTC]    Format field in books: YES
[27-Nov-2025 12:53:48 UTC]    Description field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Display_order field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in categories: YES
[27-Nov-2025 12:53:48 UTC]    Is_active field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_link field in books: YES
[27-Nov-2025 12:53:48 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 12:53:48 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 12:53:48 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_title ON books(title)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_category ON books(category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_profile_category ON books(profile_category_id)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_language ON books(language)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_format ON books(format)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_download_count ON books(download_count)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_created_at ON books(created_at)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_active ON books(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_display_order ON categories(display_order)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_categories_active ON categories(is_active)' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download ON books(show_external_download_button' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Index already exists or could not be created: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS idx_books_external_download_protected ON books(is_external_downloa' at line 1
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:53:48 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 12:53:48 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 12:53:48 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 12:53:48 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 13:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:02:07 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:02:07 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:02:07 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:02:07 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:02:07 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:02:07 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:02:07 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:02:07 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:02:07 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:02:07 UTC] 📊 Database Info:
[27-Nov-2025 13:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:02:07 UTC]    Books columns count: 45
[27-Nov-2025 13:02:07 UTC]    Categories columns count: 7
[27-Nov-2025 13:02:07 UTC]    Language field in books: YES
[27-Nov-2025 13:02:07 UTC]    Format field in books: YES
[27-Nov-2025 13:02:07 UTC]    Description field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:02:07 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:02:07 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:02:07 UTC] 📁 جلب جميع التصنيفات (بما فيها غير النشطة)
[27-Nov-2025 13:02:07 UTC] ✅ إرجاع 2 تصنيف
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:02:07 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:02:07 UTC] 📊 Database Info:
[27-Nov-2025 13:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:02:07 UTC]    Books columns count: 45
[27-Nov-2025 13:02:07 UTC]    Categories columns count: 7
[27-Nov-2025 13:02:07 UTC]    Language field in books: YES
[27-Nov-2025 13:02:07 UTC]    Format field in books: YES
[27-Nov-2025 13:02:07 UTC]    Description field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:02:07 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:02:07 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:02:07 UTC] 📖 طلب الحصول على تصنيفات البروفايل
[27-Nov-2025 13:02:07 UTC] 📁 جلب جميع تصنيفات البروفايل (بما فيها غير النشطة)
[27-Nov-2025 13:02:07 UTC] ✅ إرجاع 0 تصنيف بروفايل
[27-Nov-2025 13:02:07 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:02:07 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:02:07 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:02:07 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:02:07 UTC] 📊 Database Info:
[27-Nov-2025 13:02:07 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:02:07 UTC]    Books columns count: 45
[27-Nov-2025 13:02:07 UTC]    Categories columns count: 7
[27-Nov-2025 13:02:07 UTC]    Language field in books: YES
[27-Nov-2025 13:02:07 UTC]    Format field in books: YES
[27-Nov-2025 13:02:07 UTC]    Description field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:02:07 UTC]    Is_active field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:02:07 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:02:07 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:02:07 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:02:07 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:02:07 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 13:44:06 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column institution already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column language already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column format already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 13:44:06 UTC] 📊 Database Info:
[27-Nov-2025 13:44:06 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 13:44:06 UTC]    Books columns count: 45
[27-Nov-2025 13:44:06 UTC]    Categories columns count: 7
[27-Nov-2025 13:44:06 UTC]    Language field in books: YES
[27-Nov-2025 13:44:06 UTC]    Format field in books: YES
[27-Nov-2025 13:44:06 UTC]    Description field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Display_order field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in categories: YES
[27-Nov-2025 13:44:06 UTC]    Is_active field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_link field in books: YES
[27-Nov-2025 13:44:06 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 13:44:06 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 13:44:06 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 13:44:06 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13: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
[27-Nov-2025 13:44:06 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 13:44:06 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 13:44:06 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 13:44:06 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 14:09:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] 🚀 LiteSpeed Server Detected - Applying fixes
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 14:09:01 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 14:09:01 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 14:09:01 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ⚠️ Missing columns detected: description, display_order
[27-Nov-2025 14:09:01 UTC] 🔄 Attempting to add missing columns...
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column institution already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column publication_year already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column keywords already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_summary already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_toc already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column selected_pages_original already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column extracted_summary_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_read_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column read_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_plus already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column custom_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_file_size already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_taille_before_extrait already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_download_extrait_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_extrait_button_text already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column original_pdf_url already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column download_count already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column stockage already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column language already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column format already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_link already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_external_download_button already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column external_download_protection_key already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_external_download_protected already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column require_login_for_download already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column description already exists in categories
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column display_order already exists in categories
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ℹ️ Column is_active already exists in categories
[27-Nov-2025 14:09:01 UTC] ℹ️ Column show_welcome_section already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ℹ️ Column company_address already exists
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with original_pdf_url
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with is_active = TRUE
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing categories with new fields
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 14:09:01 UTC] 📊 Database Info:
[27-Nov-2025 14:09:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 14:09:01 UTC]    Books columns count: 45
[27-Nov-2025 14:09:01 UTC]    Categories columns count: 7
[27-Nov-2025 14:09:01 UTC]    Language field in books: YES
[27-Nov-2025 14:09:01 UTC]    Format field in books: YES
[27-Nov-2025 14:09:01 UTC]    Description field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Display_order field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_link field in books: YES
[27-Nov-2025 14:09:01 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 14:09:01 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14:09:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Default screen texts inserted successfully
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty language field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with empty format field
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ✅ Updated existing books with default external download link and protection values
[27-Nov-2025 14:09:01 UTC] ✅ Database tables created/updated successfully with all new fields
[27-Nov-2025 14:09:01 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 14:09:01 UTC] 📊 Database Info:
[27-Nov-2025 14:09:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 14:09:01 UTC]    Books columns count: 45
[27-Nov-2025 14:09:01 UTC]    Categories columns count: 7
[27-Nov-2025 14:09:01 UTC]    Language field in books: YES
[27-Nov-2025 14:09:01 UTC]    Format field in books: YES
[27-Nov-2025 14:09:01 UTC]    Description field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Display_order field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_link field in books: YES
[27-Nov-2025 14:09:01 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 14:09:01 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 14:09:01 UTC] 📊 Database Info:
[27-Nov-2025 14:09:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 14:09:01 UTC]    Books columns count: 45
[27-Nov-2025 14:09:01 UTC]    Categories columns count: 7
[27-Nov-2025 14:09:01 UTC]    Language field in books: YES
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14:09:01 UTC]    Format field in books: YES
[27-Nov-2025 14:09:01 UTC]    Description field in categories: YES
[27-Nov-2025 14:09:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 14:09:01 UTC]    Display_order field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_link field in books: YES
[27-Nov-2025 14:09:01 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 14:09:01 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 14:09:01 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 14:09:01 UTC] ✅ إرجاع 2 تصنيف نشط
[27-Nov-2025 14:09:01 UTC] ℹ️ Favorites table not available for inspection
[27-Nov-2025 14:09:01 UTC] 📊 Database Info:
[27-Nov-2025 14:09:01 UTC]    Tables: books, categories, contact_settings, database_versions, profile_categories, screen_texts
[27-Nov-2025 14:09:01 UTC]    Books columns count: 45
[27-Nov-2025 14:09:01 UTC]    Categories columns count: 7
[27-Nov-2025 14:09:01 UTC]    Language field in books: YES
[27-Nov-2025 14:09:01 UTC]    Format field in books: YES
[27-Nov-2025 14:09:01 UTC]    Description field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Display_order field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in categories: YES
[27-Nov-2025 14:09:01 UTC]    Is_active field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_link field in books: YES
[27-Nov-2025 14:09:01 UTC]    Show_external_download_button field in books: YES
[27-Nov-2025 14:09:01 UTC]    External_download_protection_key field in books: YES
[27-Nov-2025 14:09:01 UTC]    Is_external_download_protected field in books: YES
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14: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
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14:09:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 14:09:01 UTC] 📁 جلب التصنيفات النشطة فقط
[27-Nov-2025 14:09:01 UTC] ℹ️ Database is already at version 24
[27-Nov-2025 14:09:01 UTC] 🎉 Database configuration completed successfully with Book Active Status field!
[27-Nov-2025 14:09:01 UTC] ✅ إرجاع 2 تصنيف نشط
